读The C programming language的新发现

1.C语言标准中的各类型长度,及指针长度并没有明确指定是多长,只是有一个长度限定。还有建议字节数,但这绝不应该成为我们写程序时的标准。因此,我们每到一个新平台的话就最好先搞清楚各类型是多长!

2.C语言中char ,signed char,unsigned char,是3种类型,因为char 到底是signed char 还是char依赖于编译器的实现,K&R建议,为了便于移植,如果我们放的是非字符数据的话最好明确指定是signed char 还是unsigned char!

3.隐式转换有算术运算转换,赋值转换

4.如果一个函数的形参类型未知,那么调用函数时要对相应的实参做“整形提升(integer promotions)",除此以外,float类型将被转换为double类型
5.类似*与++这样的一元运算符遵循从右至左的结合顺序
6.数组下标是有符号型的数值
7.指针-指针 = 指针所指的类型的个数,而非地址的距离.
8.标准允许指向数组元素的指针与指向数组最后一个元素后面的那个内存位置的指针进行比较,但不充许与指向数组第1个元素之前的那个内存位置的指针进行比较.

发表评论

three + two =