结构体赋值与内存

来源:百度知道 编辑:UC知道 时间:2024/06/15 18:56:42
问下哦:结构体——scanf(%d,p->sex)还是scanf(%d,&(p->sex)哪个是对的哦)
还有union un
{int a;
char c[2];
}w;
w.c[0]='A';w.c[1]='a';
printf("%o\n,w.a");

得数怎么会是60501?????

如果SEX定义时是Char类型用后一个,sex可以是m或者w,如果是定义为字符串的话,用前面一个,因为它代表字符串的首地址,可以赋值woman或man
第二一个,联合体内存中永远都是最后赋值的那个数据,本题就是A占底八位,a 占高八位,他们共同占据两个字节,然后俺ASCII码的形式,把他们转成二进制,再按八进制输出,就是60501啦!

从上往下,一路计算