假设以下代码运行环境为32位系统,其中,__attribute__((packed))作用是告诉编译器取消结构在编译过程中优化对齐,按照实际占用字节数进行对齐。代码段1:struct student1 {char name [10];long sno;char sex;float score [4];}__attribute__((packed)) *p1, a1, b1;代码段2:union student2 {char name [10];long sno;char sex;float score [4];}*p2, a2, b2;sizeof(struct student1)、sizeof(union student2)结果分别是______。
- 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)
- 查看答案