关键字
union
长度为联合体中最大的数据类型的长度
enum
默认从0开始计数
char
在OS中占一个字节 所以强制类型转换也只占一个字节,例如ulong u1=0xfe89; (char)u1=0x89;
这里操作十六进制,所以是0x89,如果是字符转换成十进制,则结果是ASCI码值
sizeof
计算变量占用的字节数 sizeof(int var[10])=40Bytes; 计算字符数组时已然包括后面的'\0'
extern/static
一旦被改写,则以被改写的值为此变量的值,可以在函数内定义和全局变量、静态变量同名字的变量,但是先访问的是本函数内部的变量
switch..case..default
case中如果没有发现break、exit(1)之类的中断语句 则一直执行到default时退出
数组
对于二维数组 先行后列相较于先列后行要快很多,并且务必注意边界检查
指针
初始换指针为NULL,申请内存空间后,检查是否申请成功;
释放申请的内存后置空指针为NULL
检查分支流程,在调用return、exit(1)等推出前,务必释放之前申请的内存
特别提示:指针作为变量,其本身也是具有地址空间的
char *p[10][10]; siezoef(p)=100;
stu *p=NULL; sizeof(p)=4; sizeof(*p)=20;
指针数组:char *p[10]; sizeof(*p)=4; sizeof(p)=40;
p:指针变量,保存的是所指变量的地址,长度为4Bytes,
*p: 所指的是变量的值;数组作为函数参数时实际是作为指针来操作的
C语言常见编程提示