
2.符号常量:用#define替换为数值常量,只存在于编译期。例如物困
#define A 5
定义了一个符号常量A,编译时预处理器会把这或蚂敬之后的A替换为5。
3.const数据类型:
例如定义一个int常量:const int a = 5,这里 a 为 const int 类型。类型有const修饰时,编译器会对修改此数据的行为视为编译错误。因此把const数据作为常量使用。
另外还有字符/字符串字面量:类似'a'或"aaa"的字符/字符串为字面量。字面量在C语言中不是常量(在C++中是常量),因为C语言标准中定义了修改其中内容的 *** 作衫慎为“未定义行为”,修改 *** 作可能引起不确定的后果。如果约定不用指针等方式修改其中内容,可以把字面量当做常量使用。用前置的const修饰指针,可以限制指针修改其中内容,例如const char* str = "aa",指针str指向的内容无法通过str修改,可以把str指向的内容视作常量字符串。用#define替换得到的字面量是匿名的,也可以当做常量使用。
====
[原创回答团]
常量经常用于定义不会改变而多处要使用的地方比如,在数学中经常需要用到π的运算,在有些时候,假定我们需要精度比较低的定义足够了,则定义常量:#define PI 3.14
然后程序中用PI来书写计算式子,比如:s=PI*r*r
程序写好后,如果有一天丛灶埋,要求改变了,要用更高精度的派来计算,那么只需要修改一句,即常量定义的这一句:#define PI 3.1415926整个程序就提高精度了,因为凡是渗蚂用到PI书写辩拿的语句都会被新的定义替换。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)