我正在用 C 做以下事情
#define MAX_DATA_SIZE 500;
struct reliable_state {
char dataBuffer[MAX_DATA_SIZE];
}
即我想在结构声明中使用#define 常量作为数组大小。 但是上面的代码给出了奇怪的错误
.c:36: error: expected ‘]’ before ‘;’ token
那么有没有其他方法可以做到这一点?
最佳答案
是的,你可以,只需删除';'在你的定义行中:
#define MAX_DATA_SIZE 500
有了define,你的编译器实际上会“看到”你的结构定义
char dataBuffer[500;];
这显然是错误的。
关于我们可以在结构声明中使用#define 常量作为数组大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7736487/