C错误在文件范围内进行了可变修改

C错误在文件范围内进行了可变修改,c,error-handling,struct,C,Error Handling,Struct,是的,所以我是c新手,在处理以下代码时遇到了一个错误: typedef struct{ int head; int length; Customer customer[MAX_LENGTH]; } CustomerCi; 得出的错误是: “错误:在文件范围内对“客户”进行了可变修改” 我不知道如何解决这个问题,如果有任何帮助,我将不胜感激(请记住,如果这似乎是一个愚蠢的问题,我是新手)。用文字值替换MAX\u LENGTH: #define MAX_LENGTH 32

是的,所以我是c新手,在处理以下代码时遇到了一个错误:

typedef struct{
    int head;
    int length;
    Customer customer[MAX_LENGTH];

} CustomerCi;
得出的错误是:

“错误:在文件范围内对“客户”进行了可变修改”


我不知道如何解决这个问题,如果有任何帮助,我将不胜感激(请记住,如果这似乎是一个愚蠢的问题,我是新手)。

用文字值替换MAX\u LENGTH:

#define MAX_LENGTH 32

例如。

我尝试了这些,其中一些不起作用,其他一些我不完全理解。它当时起作用,但后来我需要MAX_LENGTH的值才能更改。我给出的前一行已经将MAX_LENGTH定义为“static const int MAX_LENGTH=100;”您不能在C中更改数组的大小。请将指针与malloc/free一起使用,或者使用.oh ok,因为如果您不想自己编写它,我正试图使用它来测量队列的大小。能说会道的人拥有你所需要的一切。