1. 枚举初值
enum string{
x1,
x2,
x3=10,
x4,
x5,
} x;
函数外部问x等于什么?
定义在函数外是全局变量,程序初始化为0;若是定义在函数内,编译器提示变量未初始化错误。此时x1=0,x2=1,x3=10,x4=11,x5=12。相应的,若x1=’a’,则输出时,x1=97(取’a’的ascii码值),x2=98,以此类推。同时枚举类型数据占4个字节,与int相同。
2.地址运算
unsigned char *p1;
unsigned long *p2;
p1=(unsigned char *)0x801000;
p2=(unsigned long *)0x810000;
请问p1+5= 什么?
p2+5= 什么?
1代表的是一个单位量
p1+5=p1+5*1=p1+5*sizeof(unsigned char)=p1+5*1=0x801000+ox5=0x801005
p2+5=p2+5*1=p2+5*sizeof(unsigned long)=p1+5*4=0x810000+20=0x810000+0x14=0x810014
最后要转换成16进制。
3. 类所占字节大小计算
若char是一字节