预定义C数组

时间:2010-04-28 14:46:59

标签: c arrays

在C中,定义数组时我可以执行以下操作:

int arr[] = {5, 2, 9, 8};

因此我将其定义并填充,但如何在我的.h文件中定义它,然后将其填入我的.c?

喜欢做像

这样的事情
int arr[];
arr = {5, 2, 9, 8};

我对C很新,不知道它会是什么样子

有什么建议吗?

2 个答案:

答案 0 :(得分:9)

通常,你会把:

extern int arr[];

在.h文件中,并且:

int arr[] = { 5, 2, 9, 8};

在.c文件中。

编辑:Dale Hagglund和KevinDTimm提出了好处:你只想将初始化放在一个 .c文件中,你只需要将任何放入。 h文件,如果您要从多个.c文件中的代码访问arr

答案 1 :(得分:0)

你可以使用包含警戒来防止多次发生这种情况,但是在我看来,将指派放入标题是一种非常糟糕的做法。将初始化放在c文件中,而不是放在init函数中,并将数组放在h文件中。