Как вы разделяете постоянный массив строк между файлами? - PullRequest
4 голосов
/ 06 февраля 2012

Прошло много времени, так как я на самом деле закодировал прямую c (даже не C ++, а c), и я знаю, как использовать ключевое слово extern для разделения переменной между отдельными файлами .c, но что я не могу вспомнить такое как делиться постоянными данными между файлами?

Например, скажем, у меня есть это ... (обратите внимание, это не код c (или, если это так, это случайность), а скорее псевдокод, чтобы показать, что я хочу):

const char const * WEEKDAYS[] = {
    "Sunday",
    "Monday", 
    "Tuesday"
}

Теперь я пытаюсь создать массив указателей на символы, которые указывают на данные. Опять же, это постоянные данные, поэтому я хотел бы просто определить их непосредственно в заголовке, но здесь я не могу понять, как это сделать, или если это не так, как вы должны это делать в любом случае, и вы все равно должны объявите его в файле c, затем используйте extern в заголовке, который вы добавляете в другом месте.

Опять же, прошло много времени с тех пор, как я столкнулся с этим благодаря новым, более современным языкам, но надеялся, что вы поможете.

1 Ответ

5 голосов
/ 06 февраля 2012

Это то же самое, что и для переменных:

// header
extern const char * const WEEKDAYS[3];

// implementation
const char * const WEEKDAYS[3] = {
    "Sunday",
    "Monday",
    "Tuesday"
};

Также вы, вероятно, хотите const char * const, а не const char const *, что является неверным синтаксисом.

...