1.使用ANSI C标准
2.const
const并不能把变量变成常量,在一个符号前面加const只是使其成为可读的。
const int *ptr1 ptr1是一个指向const int的指针 (常量指针)
const *int ptr2 ptr2是一个指向int的const指针 (指针常量)
const和*的组合通常用在数组形式的参数中模拟传值调用,它声称“我给你一个指向它的指针,但是你不能修改它”
3.ANSI C标准中的类型转换:
当执行算数运算时,操作数的类型如果不同,就会发生转换,数据类型一般朝着浮点精度更高,长度更长的方向转换,整型数如果转换为signed不会丢失信息,就转换为signed,否则转换为unsigned
对符号类型的建议:
尽量不要在代码中使用无符号类型,以免增加不必要的复杂性,尤其是,不要仅仅因为无符号数不存在负值(如年龄,国债)而用它来表示数量。
尽量使用int那样的有符号类型,这样在涉及升级混合类型的复杂细节时,不必担心边界情况。
只有在使用位段和二进制掩码时,才可以使用无符号数,应该在表达式中使用强制类型转换,使所有的操作数均为有符号数或者无符号数,这样就不必由编译器来选择结果的类型。
阅读(562) | 评论(0) | 转发(1) |