如题所述
C\C++本身不支持动态数组,但是可以通过动态申请内存实现由键盘输入长度的方式确定数组长度。
实现代码如下:
int num;cout<<“请输入数组大小”;
cin>>num;
int *p=new int[num];
//这里就可以使用这个动态数组了。
delete []p; //不用的时候务必自己删除内存
温馨提示:答案为网友推荐,仅供参考
第1个回答 2018-04-08
arr = (int **)malloc(sizeof(int*)*row); //arr在这里可以看出成数组,数组的每个成员都是指向int类型的指针,这样每个指针指向的代表一行,共row行
for(i=0; i<row; i++) //为每行申请空间
第2个回答 2012-03-12
c中数组的长度在定义数组的时候就必须确定。不能由键盘输入。
第3个回答 2012-03-12
用动态数组就可以了。
如用cin>>x;
定义int *a = new int[x];就可以了
如用cin>>x;
定义int *a = new int[x];就可以了
第4个回答 2012-03-12
4、对数组的增强
可变长数组
C99中,程序员声明数组时,数组的维数可以由任一有效的整型表达式确定,包括只在运行时才能确定其值的表达式,这类数组就叫做可变长数组,但是只有局部数组才可以是变长的.
可变长数组的维数在数组生存期内是不变的,也就是说,可变长数组不是动态的.可以变化的只是数组的大小.可以使用*来定义不确定长的可变长数组。
PS:这个功能属于C99的新特征,我没用过,你自己去查例子吧
可变长数组
C99中,程序员声明数组时,数组的维数可以由任一有效的整型表达式确定,包括只在运行时才能确定其值的表达式,这类数组就叫做可变长数组,但是只有局部数组才可以是变长的.
可变长数组的维数在数组生存期内是不变的,也就是说,可变长数组不是动态的.可以变化的只是数组的大小.可以使用*来定义不确定长的可变长数组。
PS:这个功能属于C99的新特征,我没用过,你自己去查例子吧