在C语言中,您可以基于另一个常量定义一个常量吗?

亨特芳

今天,当我开发C程序时,我的一所大学指出我做错了什么。

他说我正在执行的与下面的代码相似的代码是错误的,并且您不能基于另一个常量定义一个常量。该程序最终还是正常工作,而我却想知道他是否正确。下面的代码是否错误/违反了最佳做法?

const int num=5;
const int num2=num*2;
MM

这些不是常数。它们是int带有const限定符的变量const该变量不能由程序被写入到限定符装置。实际整数常量表达式的例子包括52 + 3,和sizeof(int)这是完整列表

在文件范围内,第二行违反约束,因为变量的名称不是常量表达式。约束为C11 6.7.9 / 4:

具有静态或线程存储持续时间的对象的初始化程序中的所有表达式应为常量表达式或字符串文字。

(在文件作用域声明的变量具有静态或线程存储持续时间)。

在块范围内,该代码还可以,因为初始化器不需要在那里是常量表达式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

结构中的一个元素可以在C语言中访问其自身的另一个元素吗?

在C ++中,如何使用在另一个文件中定义的常量变量?

在初始化期间在另一个常量中使用一个常量

您可以在另一个内部获取一个属性文件吗?

从另一个文件导出所有常量

选择常量并与另一个列表并集

从另一个文件调用常量

从单独的文件中调用另一个常量

从另一个函数更改函数内部的常量

为什么我可以定义一个静态常量,该静态常量依赖于同一类型的另一个静态常量,而不是属性?

基于C语言中另一个数组的char数组的奇怪长度和内容

我可以从kivi语言中的一个窗口小部件引用另一个窗口小部件的属性吗?

如何在angularjs中在一个文件中定义常量并在另一个文件中访问

G ++:转移到另一个翻译单元会破坏“常量优化”吗?

Swift:使用常量属性定义另一个属性失败

无法修改在另一个文件中定义的常量

(C 语言)我可以在另一个 fopen 指令中使用 fopen 指令吗?

在C语言中,为什么我可以看到在另一个变量之后的数组末尾写入的值?

在Java中,为什么可以用另一个枚举常量来限定一个枚举常量?

依赖于另一个常量的Swift常量

在C语言中,如何评估一个函数或另一个函数中的局部变量?

c#如何从另一个表单访问枚举常量名

我无法在 c 语言中读取另一个结构

Java套接字:您可以从一个线程发送而在另一个线程接收吗?

您可以检查一个类型(不是实例)是否是另一个类型的子类吗?

您可以在另一个事件池中使用一个事件池吗?

您可以*模拟*从一个Ubuntu版本升级到另一个版本吗?

您可以将参数从一个动作传递到另一个动作吗?

您可以在实现另一个接口的组件的接口中键入字段吗?