菜de园子
我的园子,我做主!
摘要: 今天在申请内存空间的时候发现结构体的大小并不是结构体内成员大小的相加,我觉得很奇怪,就在搜了一下资料,发现原来如此: 结构体中的成员可以是不同的数据类型,成员按照定义时的顺序依次存储在连续的内存空间,需要注意的是结构体的大小不是所有成员大小简单的相加,需要考虑到系统在存储结构体变量时的地址对齐问题。 这就涉及到一个定义:偏移量,偏移量指的是结构体变量中成员的地址和结构体变量地址的差。结构体大小等于最后一个成员的偏移量加上最后一个成员的大小。举个例子:typedef struct{ int count; int num; char s; }INFO; 第一个成员的偏移量是0,第二个成员的偏移 阅读全文
posted @ 2010-11-15 16:17 candycaicai 阅读(1292) 评论(3) 推荐(0) 编辑