struct t{
char days[20];
int date;
char x;
struct t *next;
}*head
printf("%ld\n", sizeof(head));
其中sizeof(*void)=8
,sizeof(int)=4
,sizeof(char)=1
为什么打印8?
答案 0 :(得分:5)
head
是指向结构t
的指针,因为我假设您正在运行x64程序,所以它是8个字节。如果您想要基础类型的大小,请执行以下操作:
sizeof(*head)
答案 1 :(得分:1)
请注意head
是结构的指针,而不是结构的实际实例。这意味着sizeof(head)
是指针的大小,在系统上恰好为8(注意sizeof(void*)
也是8)。
希望这有帮助!