定义一个指针p指向结构体 p放的是结构体的首地址 这个首地址是不是指结构体中第一个成员的地址??

如题所述

结构的首地址就是结构的第一个成员的地址。
内存填充只会出现在各成员之后。
默认情况下,结构体的首地址是结构中最大数据成员大小(字节)的倍数,每个数据成员的首地址均是各自大小的倍数。
对齐方式可以通过#pragma pack预处理指令更改。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-26
是的,结构体的内存和数组一样都是连续存储的,p+第一个成员的字节,就是第二个成员的地址,以此类推。。本回答被网友采纳
第2个回答  2010-12-26
C语言应该是的,你把结构体中第一成员的地址取出来比较就知道了。

struct S
{
int value;
int value2;
};

struct S s;
struct S* p = &s;
int * pi = &p->value;
if ( p == (void*)pi )
{
}
第3个回答  2010-12-29
是的!
相似回答