- 对声明的理解
- int i ; 含义为i为整型
- int f() ; 含义为函数f()的返回值为整型
- int *p ; 含义为p为指向整型的指针
- int *g() ; 含义为函数g()返回值为指向整型的指针
- int (*h)() ; 含义为h指向返回值为整型的函数
- 强制类型转换
- 即将声明中的变量和分号去掉,再用括号括起来,就是一个强制类型转换符
- (int (*)()) 指向返回值为整型的函数的指针类型转换符
- 运算符的优先级
- 第一级:包括() [] -> .四种运算符,含义分别为函数调用、数组下标、结构中成员选择操作符;
- 第二级:单目运算符,包括!~ ++ -- - * & sizeof等(自右向左)
- 第三级:双目或三目运算符
- 算数运算符:+ - * / %
- 移位运算符:<< >>
- 关系运算符:< <= > >= == !=
- 逻辑运算符:& ^ | && ||
- 条件运算符:?:(自右向左)
- 赋值运算符:=
- 注意;的使用
- if,for,while等;的使用
- 函数的声明和定义中;的使用
- switch语句
- 如果在case语句后不加break,则会从当前case开始继续执行下一个case直至遇到break从switch中跳出
- 函数调用
- 写作f()的形式,括号里面可以带参数也可以不带参数
- f;计算函数f的地址
- if语句
- else始终与同一对花括号最近的未匹配的if结合
- 数组小知识
- 在进行数组初始化时,可以在最后一个元素后面出现多余的逗号,源于c语言最初进行编写时可以方便直接添加元素☺
注:本内容主要参考《C陷阱与缺陷》一书,内容为自己整理的笔记