我有一个 C 项目,其中所有代码都组织在*.c
/*.h
文件对中,我需要在一个文件中定义一个常量值,但是它也将用于其他文件。我应该如何声明和定义这个值?
应该static const ...
和*.h
文件里的一样吗?如extern const ...
在*.h
文件中并在文件中定义*.c
?如果值不是原始数据类型(int
,double
等),而是 achar *
或 a ,这有什么关系struct
?(虽然在我的情况下它是一个double
。)
通常,在文件中定义东西*.h
似乎不是一个好主意。应该在文件中声明事物*.h
,但在文件中定义它们*.c
。但是,这种extern const ...
方法似乎效率低下,因为编译器无法内联该值,而是必须始终通过其地址访问它。
我想这个问题的本质是:是否应该在 Cstatic const ...
中的文件中定义值*.h
,以便在多个地方使用它们?