变量在软件编程开发项目中使用频率还是非常高的,下面我们就通过案例分析来了解一下,C语言编程开发变量类型与应用。
数据类型选择的经验准则
当知晓数值不可能为负时,选用无符号类型
使用int执行整数运算,short常常太小,long和int一般尺寸一样。如果int不够,用longlong。
在算数表达式中不要使用char或bool,使用char特别容易出问题。如果要使用一个不大的整数,那么明确执行为signedchar或unsignedchar。
执行浮点数运算用double,float通常进度不够而且两者计算代价相差无几。Longdouble一般没有必要,且消耗不容忽视。
有符号类型和无符号类型
无符号类型赋值超出其范围,结果是取模后的值。如unsignedcharc=-1;//假设char占8bit,c的值为
有符号类型赋值超出其范围,结果未定义。如signedcharc2=;//假设char占8bit,c2的值未定义
切勿混用带符号类型和无符号类型。
算数表达式中既有无符号数又有带符号数,带符号的数会转换成无符号的数
初始化与赋值
初始化和赋值是两个完全不同的操作。
定义于函数体(块作用域)内的内置类型的对象如果没有初始化,则其值未定义。养成初始化内置变量的习惯。
类的对象如果没有显式地初始化,则其值由类确定。
声明与定义
声明使得一个名字为程序所知,定义会申请存储空间,还可能为其赋初始值
(分离式编译)如果想声明一个变量而非定义它,就在变量名前添加关键字extern,而且不要显式地初始化变量
对于复杂的声明语句,可以从变量名从右往左理解
指针
常见错误:解引用无效指针(空指针或已释放的指针)
建议:初始化所有指针,并且尽量等定义了对象之后再定义指向它的指针。
推荐nullptr而非0,0指针具有二义性。