我正在努力学习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[][];

但是我得到一个错误告诉我“预期的标识符或“(”在“[”token |”之前“,我看不出问题是什么。。。有什么想法或建议吗?
我正在使用.h文件学习如何使用外部变量,因此无法将值移回main.c

最佳答案

首先,这:

#define timeVals[4][2];

是一种困惑。你的意思是:
int timeVals[4][2];

把它放到.h文件中,然后放到.c文件中,如下所示:
int timeVals[4][2] = {
  { 1, 2 }, // ...
};

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

08-07 04:39