我通过翻阅我的C++书并重新编写C中的问题来教自己C.我想知道在C中声明变量常量的正确的行业标准方法.你还在main之外使用#define指令,还是可以使用main中的C++样式const int?
constconstC中的代码与C ++中的代码非常不同。
在C语言中,这意味着该对象不会通过该标识符进行修改:
int a = 42;
const int *b = &a;
*b = 12; /* invalid, the contents of `b` are const */
a = 12; /* ok, even though *b changed */
Run Code Online (Sandbox Code Playgroud)
另外,与C ++不同,不能在开关标签中使用const对象:
const int k = 0;
switch (x) {
case k: break; /* invalid use of const object */
}
Run Code Online (Sandbox Code Playgroud)
所以...这实际上取决于您的需求。
您的选择是
#define:真正的const但使用预处理器const:不是真的constenum: 仅限于 int更大的例子
#define CONST 42
const int konst = 42;
enum /*unnamed*/ { fixed = 42 };
printf("%d %d %d\n", CONST, konst, fixed);
/* &CONST makes no sense */
&konst; /* can be used */
/* &fixed makes no sense */
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4243 次 |
| 最近记录: |