数组的维数为什么要是常量表达式,可以是变量吗?
数组的大小不能用变量表示的,是因为在编译连接期间内存要按照你制定的长度给数组分配相应的内存空间,如果是变量的话就没有办法给它分配了,你可以用符号常量来解决,在开头用:
# define m 100
# define n 100 然后在程序中就可以定义u[m][n]二维数组了,当不一定非要是100,可以是任何一个正整数
数组的大小是固定的,不能用变量,如果想用变量的话,需要用指针:
//n是一个变量
int *arr = new int[n];这样,可以像使用数组一样使用,效果类同与arr[n],最后记得delete就可以了。