【发布时间】:2012-03-16 01:58:17
【问题描述】:
#include <stdio.h>
typedef struct {
short x,y;
char type;
} Tile;
int main(int argc, const char *argv[])
{
printf("%d\n",sizeof(short));
printf("%d\n",sizeof(char));
printf("%d\n",sizeof(Tile));
return 0;
}
输出是:
2
1
6
我预计 sizeof(Tile) 是 5,而不是 6。这是一种定义明确的行为,结构会增加一个额外字节的内存使用量,还是依赖于实现?
【问题讨论】:
标签: c memory-management struct