gpt4 book ai didi

c - 当定义不是 const 时,将 extern global 视为 const 是否有效?

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

<分区>

假设我有一个编译单元 file1.c,它声明了一个文件范围变量,如下所示:

int my_variable = 12;

然后,在另一个编译单元 file2.c 中,我为该变量创建了一个外部声明,但将其声明为 const:

extern const int my_variable;

这将使用 -Wall -Wextra -ansi -pedantic 编译并与 gcc 一起正常工作。但是,C89 标准说要使两个限定类型兼容,两者都应具有兼容类型的相同限定版本。将 const 添加到声明中会增加一个限制,而不是避免一个限制。这是安全有效的 C 语言吗?使用头文件进行设置的最佳做法是什么?

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