C陷阱与缺陷读书笔记(第2章)语法“陷阱”

来源:互联网 发布:nginx 多个域名 ssl 编辑:程序博客网 时间:2024/05/17 20:08

1.任何C变量的声明都由两部分组成,类型以及一组类似表达式的声明符。

2.因为声明符与表达式类似,所以我们也可以在声明符中任意使用括号。

3.该类型的类型转换符得到方式:

只要把声明中的变量名和声明末尾的分号去掉,再将剩余的部分用一个括号整个封装起来即可。

4。(*fp())就调用fp所指向的函数的形式。

函数运算符()的优先级高于单目运算符*

5.对0进行做类型转换。

转换后的类型为 指向返回值为void类型的函数的指针。

void (*fp)()  则fp是指向返回值为void类型的函数指针。

则转换类型为  void (*)()  则将0强制转换(void(*)()) 0

6.可以使用typedef简化定义类型。

typedef vodi (*funcptr)();

(*(funcptr )0)();表示0地址的函数

7.运算符的优先级

前述,单目,双目,三目,赋值,逗号

其中三目,单目,赋值是从右向左。

双目中 算术,移位,关系,逻辑(逻辑按位大于顺序)

8.case如果没有break语句,应该用分号说明。

9.在函数调用时即使函数不带参数,也应该包括参数列表。

10.else始终与统一对括号内最近未匹配的if结合。


0 0
原创粉丝点击