*.c
/*.h
文件对组织的。我需要在一个文件中定义一个常量值,但是这个值也会在其他文件中使用。应该如何声明和定义这个值呢?这个值应该在
*.h
文件中声明为static const ...
吗?还是应该在*.h
文件中声明为extern const ...
并在*.c
文件中定义?如果这个值不是原始数据类型(如int
、double
等),而是char *
或struct
,那么它的定义方式是否有所不同呢?(尽管在我的情况下它是一个double
。)一般来说,在
*.h
文件中定义东西似乎不是一个好主意;应该在*.h
文件中声明事物,但在*.c
文件中定义它们。然而,extern const ...
方法似乎效率低下,因为编译器无法内联该值,而必须始终通过其地址访问它。我想这个问题的本质是:在C语言中,应该在
*.h
文件中定义static const ...
值,以便在多个地方使用吗?