C语言 这题什么意思 为什么这么选
根据下面的定义,回答47、48题structtest{intml;charm2;floatm3;unionuu{charul[5];intu2[2];}ua;}myaa;...
根据下面的定义,回答47、48题
structtest
{ int ml; char m2; float m3;
unionuu {char ul[5]; int u2[2];} ua;
}myaa;
47.下面哪个选项能正确表示结构体变量的m1成员 ( A)
A)myaa.m1 B) test.m1 C)test->m1 D) myaa->m1
48. sizeof(structtest )的值是 (A)
A)12 B) 16 C) 14 D) 9
赋值语句x=j>0;是什么意思???? 展开
structtest
{ int ml; char m2; float m3;
unionuu {char ul[5]; int u2[2];} ua;
}myaa;
47.下面哪个选项能正确表示结构体变量的m1成员 ( A)
A)myaa.m1 B) test.m1 C)test->m1 D) myaa->m1
48. sizeof(structtest )的值是 (A)
A)12 B) 16 C) 14 D) 9
赋值语句x=j>0;是什么意思???? 展开
2个回答
展开全部
47、答案为A
myaa是结构体变量,其成员的访问方式就是通过圆点运算符访问的。
其他的几个选项都是错误的,其中test.m1 因为test是结构体名不是结构体变量,所以这样的方式直接不对,C 因为test不是指针,所以该项错误。 D 如果myaa是结构体类型指针就正确,而它仅仅是结构体变量,所以不能用箭头运算符。
48、理论上结果为 12,也就是答案为 A ,结构体类型占用内存空间的大小由其每个成员所占用之和决定。它的成员共有四个,分别是 m1、m2、m3、ua。 其中m1占用2个字节(在VC环境下4个字节),m2占用1个字节,m3占用4个字节,ua的长度为其最大成员的长度也就是ul数组的长度5,所以加起来共12字节。
当然如果是在VC中测定的话为20(这与int型在内存中占用4个字节以及字节对齐有关)。
x=j>0的意思是把j>0这个表达式的值赋值给x,所以当j的值确实大于0时,j>0为真结果为1,即x获得值1,而如果j不 大于0时,结果为0.
myaa是结构体变量,其成员的访问方式就是通过圆点运算符访问的。
其他的几个选项都是错误的,其中test.m1 因为test是结构体名不是结构体变量,所以这样的方式直接不对,C 因为test不是指针,所以该项错误。 D 如果myaa是结构体类型指针就正确,而它仅仅是结构体变量,所以不能用箭头运算符。
48、理论上结果为 12,也就是答案为 A ,结构体类型占用内存空间的大小由其每个成员所占用之和决定。它的成员共有四个,分别是 m1、m2、m3、ua。 其中m1占用2个字节(在VC环境下4个字节),m2占用1个字节,m3占用4个字节,ua的长度为其最大成员的长度也就是ul数组的长度5,所以加起来共12字节。
当然如果是在VC中测定的话为20(这与int型在内存中占用4个字节以及字节对齐有关)。
x=j>0的意思是把j>0这个表达式的值赋值给x,所以当j的值确实大于0时,j>0为真结果为1,即x获得值1,而如果j不 大于0时,结果为0.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询