期中复习的一点小想法,欢迎各位大佬指正
c++数组的大小可以为变量(当然是已经赋值的变量,不然嘞),但是数组元素的类型必须确定
以二维数组为例进行分析:
二维数组其实可以看做,存放了指针的一维数组,每个元素是一维数组(就是每一行)的头指针。基于“数组元素类型必须确定”的观点,二维数组的列数必不能为变量,当列数为变量的时候,相当于指针数组的元素类型不确定,所以以下代码是不能通过的(原则上不行,就是dev c++上可以……有输出,但是编译下面有一句)
int row,col;
cin>>row>>col;
int [row][col];//指针数组,每一各元素为数组的头指针
但是行数可以为变量,所以以下代码可以通过
int row,col;
cin>>row>>col;
int ans[row][3];//指针数组,每一各元素为数组的头指针