РЕДАКТИРОВАТЬ для адресации ответа в комментариях под OP: Это может быть файл .h или .c, но он должен быть отделен от файла, в котором определены функции, использующие эти константы.
Тогда ответ становится простым. В C общий способ предоставления константных переменных для выделенного исходного файла .c из другого файла состоит в использовании файла заголовка (.h
), который определяет постоянное значение и включается (#include
)только в файл, для которого предназначены переменные. Пример
example.h
// examples of constant values for use in a header file in C
//using macros
#define intVal 10
#define floatVal 10.503
#define strVal "string value"
//using integral types:
const int = 10;
const double = 10.503;
const char[] = {"string value"};
(исходное содержание anser)
В общем ограничивающем объеме (видимость и продолжительность) переменных в C является прямым. По этой теме имеется множество учебных пособий, например : (следующие выдержки - лишь небольшая часть содержания.)
.. узнать о области действия и классах хранения данных в C. Основные темы, затронутые в этом уроке:
Block scope
Function scope
File scope
Program scope
The auto specifier
The static specifier
The register specifier
The extern specifier
The const modifier
The volatile modifier
То, что вы описываете, предполагает, что File Scope будет работать для вас,Выдержка из той же ссылки:
Область действия файла и иерархия областей действия
...
Большинство больших программ состоят из нескольких программных файлов.
В следующей части исходного кода показаны переменные с областью действия файла:
int x = 0; /* program scope */
static int y = 0; /* file scope */
static float z = 0.0; /* file scope */
int main() {
int i; /* block scope */
.
.
.
return 0;
}
Чтобы сделать вышеуказанную область действия файла переменные константы используют модификатор const
:
static const int y = 0; /* file scope constant */
static const float z = 0.0; /* file scope constant */
Другим обычно используемым методом является макрос C. См. Это обсуждение .