C基础
sunkooshining
喜欢新想法、新创意、开源项目,关注互联网安全。
展开
-
位域结构体的sizeof
使用位域的主要目的是压缩存储,其大致规则为: 1) 如果相邻位域字段的类型相同,且其位宽之和小于类型的sizeof大小,则后面的字段将紧邻前一个字段存储,直到不能容纳为止; 2) 如果相邻位域字段的类型相同,但其位宽之和大于类型的sizeof大小,则后面的字段将从新的存储单元开始,其偏移量为其类型大小的整数倍; 3) 如果相邻的位域字段的类型不同,则各编译器的具体实现有差异,VC6采取不压缩转载 2012-10-27 19:38:51 · 539 阅读 · 0 评论 -
struct中sizeof的大小
题目:s的输出结果 #include struct s { char ch, *ptr; union { short a, b; unsigned int c:2, d:1; }; struct s * next; }; int main() { printf(”%d\n”,sizeof(struct s)); return 1; } 答案:16转载 2012-10-27 19:30:31 · 641 阅读 · 0 评论 -
struct的用法
1.struct的自然对界 struct是一种复合数据类型,其构成元素既可以是基本数据类型(如int、long、float等)的变量,也可以是一些复合数据类型(如array、struct、union等)的数据单元。对于结构体,编译器会自动进行成员变量的对齐,以提高运算效率。缺省情况下,编译器为结构体的每个成员按其自然对界(natural alignment)条件分配空间。各个成员按照它们被声明转载 2012-10-27 19:41:22 · 531 阅读 · 0 评论