为什么头文件中的变量会出错?

Gol*_*irl 2 c variables header-files

我的头文件test.h包含两个变量,它们定义为:

 #ifndef TEST_H_
 #define TEST_H_

 #define APPS 6;
 #define NODES 1;

 #endif;
Run Code Online (Sandbox Code Playgroud)

我使用另一个名为test2.h的头文件,如下所示:

#include"test.h"
typedef struct {
       uint8 State[APPS];
} AppState;
Run Code Online (Sandbox Code Playgroud)

但我在test.h文件中说错了

expected ']' before ';' token
Run Code Online (Sandbox Code Playgroud)

由于没有括号,我不知道为什么我会得到这个奇怪的错误.有人可以指出我的错误.谢谢

blu*_*112 7

不要;在末尾定义常量:

#define APPS 6
#define NODES 1
Run Code Online (Sandbox Code Playgroud)

否则这一行:

 uint8 State[APPS]; 
Run Code Online (Sandbox Code Playgroud)

成为这个:

 uint8 State[6;];
Run Code Online (Sandbox Code Playgroud)

显然不是很紧张.您可以将其#define视为"搜索和替换".