#include <stdio.h>
#include <stddef.h>
struct Data
{
int a;
char b;
char c;
int d;
char e;
};
int main(void)
{
printf("sizeof(a): %d\n",sizeof(((Data*)0)->a));
printf("sizeof(b): %d\n",sizeof(((Data*)0)->b));
printf("sizeof(c): %d\n",sizeof(((Data*)0)->c));
printf("sizeof(d): %d\n",sizeof(((Data*)0)->d));
printf("sizeof(e): %d\n",sizeof(((Data*)0)->e));
printf("offset(a): %d\n",offsetof(Data,a));
printf("offset(b): %d\n",offsetof(Data,b));
printf("offset(c): %d\n",offsetof(Data,c));
printf("offset(d): %d\n",offsetof(Data,d));
printf("offset(e): %d\n",offsetof(Data,e));
return (0);
}
/* output */
/*
sizeof(a): 4
sizeof(b): 1
sizeof(c): 1
sizeof(d): 4
sizeof(e): 1
offset(a): 0
offset(b): 4
offset(c): 5
offset(d): 8
offset(e): 12
请按任意键继续. . .
*/
如何求出C语言结构体中各个成员的大小及内存偏移量
最新推荐文章于 2021-11-21 11:24:19 发布