c语言sscanf函数的用法是什么
256
2022-09-22
嵌入式软件工程师笔试题1
1、写出运行结果: union V { struct X { unsigned char s1:2; unsigned char s2:3; unsigned char s3:3; } x; unsigned char c; } v; v.c = 100; printf("%d", v.x.s3); }//3
2、Union{
Int a;
Struct {
Char b1;
Short b2;
Char b3;
}u;
}x;
若x.a = 0x22334455,则x.u.b1,x.u.b2,x.u.b3的值分别是多少?//0x55,0x2233,0x随机值
3、简述结构体和共用体的区别。
1、结构体存在字节对齐,这样节省存储空间。
2、共用体共用一块内存空间。
3、结构体大小为:最后一个元数偏移首地址大小+自身类型大小+补齐后大小
4、共用体大小为:最大数据类型的大小。
4、 UCHAR *pucCharArray[10][10];
typedef union unRec
{
ULONG ulIndex;
USHORT usLevel[6];
UCHAR ucPos;
}REC_S;
REC_S stMax,*pstMax;
四字节对齐方式时: sizeof(pucCharArray) = 4*100,
sizeof(stMax)=2*6, sizeof(pstMax)=4,sizeof(*pstMax)=2*6.
5、struct BBB
{
long lNum;
char *pcName;
short sDate;
char cHa[2];
short sBa[6];
}*p;
p = 0x100000;
p + 0x1 = 0x100018
(unsigned long)p + 0x1 = 0x100001
(unsigned long *)p + 0x1 = 0x100004
(char *)p + 0x1 = 0x100001
6、struct tagAAA
{
unsigned char ucId:1;
unsigned char ucPara0:2;
unsigned char ucState:6;
unsigned char ucTail:4;
unsigned char ucAvail;
unsigned char ucTail2:4;
unsigned long ulData;
}AAA_S;/9/12
问:AAA_S在字节对齐分别为1、4的情况下,占用的空间大小是多少?
7、#pragma pack(4)/*编译选项,表示4字节对齐*/
int main(int argc, char* argv[])
{
struct tagTest1
{
short a;
char d;
long b;
long c;
};
struct tagTest2
{
long b;
short c;
char d;
long a;
};
struct tagTest3
{
short c;
long b;
char d;
long a;
};
struct tagTest1 stT1;
struct tagTest2 stT2;
struct tagTest3 stT3;
printf("%d %d %d", sizeof(stT1), sizeof(stT2), sizeof(stT3));
return 0;
}12/12/16
#pragma pack()(编译选项结束)
请问输出结果是:_________
8、enum ENUM_A
{
X1=2,
Y1,
Z1 = 6,
A1,
B1
};
enum ENUM_A enumA = Y1;
enum ENUM_A enumB = B1;
请问 enumA = 3; enumB = 8;
9、struct tagABC
{
char cB;
short sC;
char cD;
long lA;
}*pAbc;
pAb=0x100000;
那么pAbc+0x100 = 0x100c00; (ULONG)pAbc + 0x100 = 0x100100;
(ULONG *)pAbc + 0x100 = 0x_100400;(char *)pAbc + 0x100 = 0x100100;
10、设struct {
short a; char b; float c; }cs; 则sizeof(cs)的值是 A.4 B.5 C.6 D.8
11、怎么在结构体中实现函数?
我们知道在c语言中,结构体中不能使用函数的,在c++中类可以使用函数,
要在c语言中使用函数,则需要使用回调函数(函数指针)void(*p)(int int);
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~