C语言中不允许对数组大小作动态定义, 什么意思?

什么叫动态定义? 我们平时定义数组 int a[20] ,这难道叫 静态定义? 求解释

数组的大小在编译期就是确定的,动态的呢就是不确定的了,比如
int a =10; int array[a]; 这个array就是不确定的
#define MAX 10 int array[MAX] 这样是正确的 因为宏定义在编译期就进行了替换追问

int a =10; int array[a]; 意思是这个a 可能会变? 改变了数组的大小?

追答

是的,不能用变量

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-28
动态定义就是不定议这个数组的大小,只定义维数 如:int a[]
第2个回答  2011-06-28
int n = 10;
int a[n]; 这个不行
相似回答