在.h文件中使用数组

时间:2014-03-02 11:56:49

标签: c arrays extern

我正在尝试用C语言编程(不是C ++!)。我已经读过外部变量,应该(根据作者)提供更好的代码。为了使用外部变量,我必须在.h文件中#define,然后才能在main.c文件中使用它们,在变量前面使用extern命令。我试图在.h文件中创建一个数组,如下所示:

#define timeVals[4][2];
timeVals[0][0] = 7;
timeVals[0][1] = 45;
timeVals[1][0] = 8;
timeVals[1][1] = 15;
timeVals[2][0] = 9;
timeVals[2][1] = 30;
timeVals[3][0] = 10;
timeVals[3][1] = 25;

(这是我想要制作的时钟,控制台中的简单程序)。第一列表示小时,第二列表示分钟。我的主要内容是我写的

extern int timeVals[][];

但是我收到一个错误,告诉我“预期的标识符'或'''''''令牌'',我无法看到问题是什么......任何想法或建议? 我正在使用.h文件来学习如何使用外部变量,所以我无法将值移回main.c

1 个答案:

答案 0 :(得分:2)

首先,这个:

#define timeVals[4][2];

是一种混乱。你的意思是:

int timeVals[4][2];

将它放在.h文件中,然后放在.c文件中,如下所示:

int timeVals[4][2] = {
  { 1, 2 }, // ...
};

这是初始化整个数组的方式(任何未指定的元素都将为零)。