C语言variably modified ‘xxx变量’ at file scope问题解决

1 问题出现场景

        定义数组的时候,指定的数组长度为变量。

2 问题原因

       在C语言中不允许对数组进行动态的定义,定义数组时的长度必需为常量。

3 问题解决

       使用常量定义数组长度。

4 示例

//错误示例:

int array_length = 100;

#define MAX_LENGTH array_length

size_t array_wrong[MAX_LENGTH];//由于数组长度MAX_LENGTH为变量,因此错误

//正确示例

#define MAX_LENGTH 100

size_t array_success[MAX_LENGTH];//MAX_LENGTH为常量,因此正确

 

你可能感兴趣的:(linux)