在C程序中有哪些常量

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

原文地址:https://www.weidianyuedu.com/content/1520859151751.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值