C专家编程(一)

前言

1. 比较语句养成先写常数值的习惯: if (3 == x) ……


第一章,穿越时空的迷雾

1. 关键字 const 并不能把变量变成常量,它的限定作用只表示它所限定的符号不能被赋值:

  const int limit = 10;

  const int *limitp = &limit;

  int i = 27;

  limitp = &i;

   关于指针的 const 限定,限定的是指针所指向的区域为常态的,如上第2句,说明的是:limitp 指针所指向的整形数是不能被改变的,而指针本身却可以被赋值。


2. 尽量不要在代码中使用无符号类形,避免不必要的复杂性。尤其是不要仅仅因为你要表示的数不存在负值时就使用它。尽量使用有符号类型,这样在涉及混合类型升级的复杂细节时,不必担心边界情况(-1被翻译成非常大正数)。只有在使用段位和二进制掩码时,才推荐使用无符号数。若使用,尽量显式使用强制类型转换来限定有无符号类型。


第二章,这不是BUG,而是语言特性

1. 控制文件内部变量的可见性,使用符号 external 与 static。前者说明变量在其他文件中声明,全局可见(默认);后者说明变量被限制在本文件内。


2. static 关键字在被使用在函数内部的时候,表明所声明的变量在各个调用间保持一致性。


第三章,分析C语言的声明

1. 关于 const 声明的几点说明:

  1)const int * grape;  // 指针所指向 int 类型对象是只读的;

  2)int const * grape;  // 指针所指向 int 类型对象是只读的;

  3)int * const grape;  // 指针是只读的;

  4)const int * const grape;  // 只读指针指向只读的 int 类型对象;

  5)int const * const grape;  // 只读指针指向只读的 int 类型对象;


2. 枚举类型缺省取值:缺省情况下,整型值从0开始取值,如果对枚举类型中某个标示符进行了赋值,则进阶其后的标示符比之前大1,以此类推。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值