《C陷阱与缺陷》学习笔记(一)
来源:互联网 发布:中电飞华网络宽带 编辑:程序博客网 时间:2024/06/05 14:28
- 编码的一个习惯
在两个token(符号)之间务必要用空格来分开。
比如下面这句代码:
①a=-1;
写成这样就比较好:
②a = -1;
这样写有助于使得代码的符号的划分更清晰,更容易被识别。同时也会避免编译器在进行词法分析的时候错误地分析符号。
例如,上面例子在一些古老的C语言编译器中会出问题。
这些编译器中-=和=-被视作意义相同的运算符,因此①会被这些编译器识别为下面的语句:
③a = a - 1;
- =、==、:=
老生常谈的一个问题。
首先,在C语言中,一定要区分=和==这两个符号。
其次,在linux中:=和=都在在作为赋值运算符被使用。
在makefile中:=被用来进行非递归的赋值,而=则是递归地进行赋值。
- 对于多个字符组成的token(符号)要注意加括号来消除二义性
看下面这行代码。
④a = b / *c;
这行代码如果没有空格分隔开各个token的话,则是下面这幅模样:
⑤a=b/*c;
代码中的/*可以被解释为是注释的开始,也可以是按照④那样被解释为/和*两个token。
这种情况下最好添加括号以消除代码的二义性,较好的代码如下:
⑥a = b / (*c);
- 由双引号和单引号引起来的字符串
单引号引起来的字符,注意要是一个而不是多个字符,若用单引号引起一个字符串则是一个不科学的行为,现代编译器也会提醒这种错误。
单引号引起来的部分被编译器视作是字符,而双引号引起来的部分的值则被视作该字符串的地址。
注意,双引号引起来的部分不是被作为“指针变量”来使用的,要区分指针变量和地址。
- 《C陷阱与缺陷》学习笔记(一)
- 《C陷阱与缺陷》学习笔记(一)
- 《C陷阱与缺陷》学习笔记(一)
- 《c陷阱与缺陷》笔记一
- c陷阱与缺陷 学习笔记
- C缺陷与陷阱学习笔记
- 《C陷阱与缺陷》学习笔记
- c陷阱与缺陷学习笔记
- C陷阱与缺陷学习笔记
- 《C陷阱与缺陷》学习笔记
- C陷阱与缺陷学习笔记
- C陷阱与缺陷学习笔记
- 《C陷阱与缺陷》学习笔记(上)
- 《C陷阱与缺陷》学习笔记(二)
- 《C陷阱与缺陷》学习笔记(二)
- C陷阱与缺陷之(一)
- c 陷阱与缺陷(一)
- 读《C陷阱与缺陷》(一)
- 关于PHP你可能不知道的10件事
- vbscript访问函数外类变量和全局变量的方法
- php中isset() , unnset(), empty()函数
- 获得未接电话未读短信数目的接口
- 【狂转】某个N人的访谈记录(完)
- 《C陷阱与缺陷》学习笔记(一)
- SQLite执行SQL出现IO异常
- 捣毁病毒流氓软件窝点必查七个注册表
- C语言运算符优先级 之 快速记忆
- 让PHP开发者事半功倍的十大技巧
- USB otg
- 写串口程序时waitcommevent或writefile导致死锁问题
- 搬家了http://opheliawei.blog.51cto.com/
- Windows Mobile SDK 中的数字证书导入