a在内存中占几个字节? struct code { char num[8]; long m; }a;

[复制链接]
查看11 | 回复3 | 2011-8-15 17:37:10 | 显示全部楼层 |阅读模式
看编译器 ~ 主要是 long 那里对了 是字符串char num[8] 占了 8个字节 long 有些是4个字节有些是8个字节一般 按4字节算 那么 a 就为12字节了 可以测试 sizeof(a) #include struct code {char name[8];long m;}a;int main (){printf("a的字节数%d\n",sizeof(a));printf("char name[8]字节数=%d,long m字节数=%d\n",sizeof(a.name),sizeof(a.m));return 0;} 答案为 12 8 4...
回复

使用道具 举报

千问 | 2011-8-15 17:37:10 | 显示全部楼层
12个根据对齐原则么,char[8]//占8个,但是每个元素是分开的,一个元素占一个字节long //占4个,和让上面对齐,所以一共12个...
回复

使用道具 举报

千问 | 2011-8-15 17:37:10 | 显示全部楼层
12个,字符串共8个字符,每个字符占一个字节,一个long占4个字节...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行