你如何在文件之间共享一个恒定的字符串数组?

时间:2012-02-06 04:42:09

标签: c const extern arrays

自从我实际编码直接c(甚至不是C ++但是c)以来,我已经知道如何使用extern关键字在单独的.c文件之间共享变量,但是我可以'记得如何在文件之间共享常量数据?

例如,假设我有这个...(注意,这是不是 c代码(或者如果是,它是一个意外),而是伪代码来显示我想要的东西):

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

现在我正在尝试创建一个指向数据的char指针数组。同样,这是常量数据,所以我想直接在标题中定义它,但这是我无法弄清楚如何做到的地方,或者如果不是你应该怎么做它仍然你应该仍然在c文件中声明它,然后在其他地方包含的标题中使用extern。

同样,很长一段时间以来,由于更新,更现代的语言,我不得不处理这个问题,但希望你能提供帮助。

1 个答案:

答案 0 :(得分:5)

与变量相同:

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

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

此外,您可能需要const char * const,而不是const char const *这是无效的语法。