在C中定义常量

前端之家收集整理的这篇文章主要介绍了在C中定义常量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在各种C代码中,我看到常量定义如下:
#define T 100

而在C的例子中,几乎总是:

const int T = 100;

我的理解是,在第一种情况下,预处理器将用T代替每个T的实例.在第二个例子中,T实际上存储在内存中.

在C中定义常量是否被认为是不好的编程习惯?

解决方法

Is it considered bad programming practice to #define constants in C++?

是的,因为所有的宏(它们是#define定义的)​​都在一个命名空间中,它们在任何地方生效.包含const限定变量的变量可以封装在类和命名空间中.

在C中使用宏,因为在C中,const限定变量实际上不是常量,它只是一个不能被修改的变量.一个const-qualified变量不能出现在一个常量表达式中,所以它不能用作数组大小,例如.

在C中,使用常量表达式(如const int x = 5 * 2;)初始化的const限定对象是一个常量,可以在常量表达式中使用,因此可以使用它们.

猜你在找的C&C++相关文章