gpt4 book ai didi

C 中的常量值

转载 作者:太空狗 更新时间:2023-10-29 15:15:21 24 4
gpt4 key购买 nike

此代码无法编译:

const int x = 123;
const int y = x;

它提示 y= 行的“初始化器元素不是常量”。基本上我想要两个 const 值,一个根据另一个定义。有没有办法在 C 中执行此操作,还是我必须使用类型不安全的 #defines 或只是将值按字面意思写为魔数(Magic Number)?

最佳答案

当分配 const 类型时,您只能分配文字,即:1、2、'a'、'b' 等,而不是像 int x、float y、const int z 等变量。变量,尽管您的variable is really not variable(因为它不能改变)是 Not Acceptable 。相反,你必须这样做:

const int x = 123;
const int y = 123;

#define x 123
const int y = 123;

第二个有效,因为编译器会在编译前去除所有 x 的地方并用文字替换它。

关于C 中的常量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5739273/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com