C语言中几个常量的区别

本文深入探讨了枚举型常量、常变量与#define宏的区别,阐述了它们在程序设计中的应用场景,并强调了在实际编程中应如何合理选择使用。
有三种   enum 标识名{整型常量} ;    #define  宏名字 替代正文   常变量 const 变量 变量名= 值;
这三者之间存在区别   #define  宏名字 替代正文 是完全没有约束的正文替代,他的结果不受任何限制,完全不顾程序的语法和语义。尽量少用。
 const 变量 变量名= 值; 这个本意是变量,只是在定义的时候进行了初始化,而且不能再重新赋值了。定义位置决定了他的定义域和存在期。但是他本来是变量,不能用在“常量表达式”中,例如case 标号的常量,枚举型常量等。常变量中存在期始终保持一个固定的值,但是同一局部定义的常变量的两个存在过程却可能是保存着不同的值。eg  
for(i =1; i <10;++i)
{
const int  n = i*i;
}
 enum 标识名{整型常量} ; 枚举型的常量值必须是int 型。它可以用在常变量不能用的地方。可以初始化全局变量等。
故建议:整型常量 尽量用枚举型,其他类型 尽量用常变量。最后才用 #define 宏。
 
(注:枚举类型的常量值,最好不要写成负数, 偶,。。。)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值