c - 声明存储类的变量

标签 c variables

在编写代码时,我声明了以下内容:

const int a = 4;

“a”是编译器不允许我更改的变量吗?还是我需要 static const int a = 4?

谢谢!

最佳答案

当您使用 const int a = 4; 定义 a 时,您不应更改 a,但是不需要编译器来阻止您这样做。如果您尝试直接修改 a,编译器应该会生成一条诊断消息,如 a = 5;,但您可以通过其他方式尝试修改 a 编译器不一定会捕获,例如 * (int *) &a = 5;。如果这样做,C 标准不会定义结果行为。将 static 添加到定义中不会改变这一点。

关于c - 声明存储类的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16324512/

相关文章:

java - 错误 `/usr/bin/java' : munmap_chunk(): invalid pointer: in JNI

variables - gnuplot 将数据文件中的一个数字存储到变量中

Javascript全局变量重新定义?

c - C函数输入变量

javascript - C 语言与较新语言中的变量名长度

c - 为什么使用凯撒密码加密时无法打印空格?

c - 通过指针表示法写入二维数组

c - 使用 opus_decode_float 使用 Opus API 解码

c - 使用 fscanf 读取文件时丢失数据

javascript - 变量拒绝在 jQuery.get 回调函数中取值