struct node
{
int a;
int b;
int c;
int d;
};
int main()
{
printf("[%d]\n", (int)&((struct node *) 0)->c);
return 0;
}
解释: 把结构体开始的位置从0开始,这样通过类型中字段的偏移量就可以直接求出该字段
距离结构体开始位置的长度 。主要是 0 和类型转换
struct node
{
int a;
int b;
int c;
int d;
};
int main()
{
printf("[%d]\n", (int)&((struct node *) 0)->c);
return 0;
}
解释: 把结构体开始的位置从0开始,这样通过类型中字段的偏移量就可以直接求出该字段
距离结构体开始位置的长度 。主要是 0 和类型转换