typedef :最基本的功能是给数据类型起个别名
union 共用体
注意两点
1 共用体的大小由里面最大的数据类型大小来决定
2 共用体顾名思义,里面的成员都是共享一块内存,对后面的一个成员赋值,会覆盖前面的成员的值(也不奇怪,因为他们共享一块内存。但前提是成员所占字节数相同,当成员所占字节数不同时只会覆盖相应字节上的值,比如对char成员赋值就不会把整个int成员覆盖掉,因为char只占一个字节,而int占四个字节)
#include<stdio.h>
#include<conio.h>
typedef union{
char c;
int a;
int b;
}Demo;
int main(int argc,char **argv)
{
Demo d;
d.a=10;
d.b=12;
d.c='H';
printf("size:%d\n",sizeof(d));
printf("%c %d\t\t %d\n",d.c,d.a,d.b);
getch();
return 0;
}
运行结果是
4
H 72 72
因为前面的结果,完全被后面的覆盖掉了
大小写字母和数字的ascii码值是
a-z:97-122
A-Z:65-90
0-9:48-57