union共同体的特点:共同体变量中的所有成员占用同一存储空间
成员的起始地址一样
举例: union node
char a[10];
int b ;
字节:12
enum:枚举
typedef:体现移植性,为一种数据类型定义新名字
宏#define 宏定义命名时,尽量能够清晰的定义。 例:#define MAX 100
宏的缺点:不做预发检查,比如拼写错误不检查
只做傻瓜式替换
宏的优点:节省编译时间;简短并且频繁调用的函数经常用函数式宏定义来代替实现
注意:宏函数里不能出现递归
#define SQR (x)printf("this is x %d\n");
#define SQR (x)
printf("this is "#x"%d\n",*((x)*(x)));
#define XNAME(a) X##n
while 后面没有;do while 后面有;
switch语句:不加break,程序会在找到入口之后一直执行到switch结束。
记住最后要写default处理
continue: 不往下执行,重新循环
break;跳出循环
goto:破坏设计风格,经常带来错误和隐患。
问题:goto能不能再程序中频繁使用?使用的话注意哪些?