假设以下代码运行环境为32位系统,其中,__attribute__((packed))的作用是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐。代码段1:structstudent1{charname[10];longsno;charsex;floatscore[4];}__attribute__((packed))*p1,a1,b1;代码段2:unionstudent2{charname[10];longsno;charsex;floatscore[4];}*p2,a2,b2;sizeof(structstudent1)、sizeof(unionstudent2)的结果分别是______。
- A.248和128
- B.31和31
- C.31和16
- D.16和16
正确答案及解析
正确答案
C
解析
本题考查程序开发的基础知识。题目中student1是一个结构体,sizeof (struct student1)结果为结构体student1所有元素字节数之和,因此sizeof (struct student1)结果为:10+4+1+16=31字节。题目中student2是个联合,sizeof (union student2)结果是联合student2中最长一个元素的字节数。因此sizeof (union student2)结果为:16字节。
包含此试题的试卷
你可能感兴趣的试题
-
- A.V(S2)和P(S4)
- B.P(S2)和V(S4)
- C.P(S2)和P(S4)
- D.V(S2)和V(S4)
- 查看答案
-
- A.V(S1)P(S2)和V(S3)
- B.P(S1)V(S2)和V(S3)
- C.V(S1)V(S2)和V(S3)
- D.P(S1)P(S2)和V(S3)
- 查看答案
-
- A.P(S4)和V(S4)V(S5)
- B.V(S5)和P(S4)P(S5)
- C.V(S3)和V(S4)V(S5)
- D.P(S3)和P(S4)V(P5)
- 查看答案
-
- A.P(S3)和V(S4)V(S5)
- B.V(S3)和P(S4)P(S5)
- C.P(S3)和P(S4)P(S5)
- D.V(S3)和V(S4)V(S5)
- 查看答案
-
- A.P(S2)和P(S4)
- B.P(S2)和V(S4)
- C.V(S2)和P(S4)
- D.V(S2)和V(S4)
- 查看答案