结构体地址问题
VC++6.0下
#include <stdio.h>
struct ddd
{
int a;
char *p;
};
void main()
{
ddd d;
printf("%12d,%12d\n",d,&d);
d.a = 10;
d.p = 0;
printf("%12d,%12d\n",d,&d);
d.a = 0;
d.p = (char *)10;
printf("%12d,%12d\n",d,&d);
d.a = 11;
d.p = (char *)19;
printf("%12d,%12d\n",d,&d);
}
// 输出
// -858993460, -858993460
// 10, 0
// 0, 10
// 11, 19
我认为,&d 输出的值应该与 d.a 的值相同,
可为什么这不同,要命的是为什么 d 的值
会与 a 的值有关系??