C语言中是如何定义常量的啊

C语言中是如何定义常量的啊,第1张

我们在用C编程时有时需要定义不变的变量,即常量,有两种方法。

例如:

定义常量PI的两种方式:

1. #define Pi 3.1415926f

2. const float pi 3.1415926f

拓展材料:

常量有整型常量、浮点型常量、字符型常量及字符串常量。 ‘

常量定义是指定义符号常量,用一个标识符来代表一个常量,通过宏定义预处理指令来实现。

格式:#define标识符常量

由用户命名的标识符是符号常量名。作为符号常量名,一般大写。一旦定义,在程序中凡是出现常量的地方均可用符号常量名来代替。

对使用了符号常量的程序在编译前会以实际常量替代符号常量。

全局变量和局部变量的区别:

1.数值常量:例如 a = b + 5,这里的5就是常量。在常量后加上恰当的后缀可以表示特定类型的常量,例如1.0f是float常量。不带后缀的浮点数默认类型为double。

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替换得到的字面量是匿名的,也可以当做常量使用。

====

[原创回答团]


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/12198736.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存