c++中如果在程序运行时才知道一个数组的大小,那么应如何在程序中定义数组?
c++中如果在程序运行时才知道一个数组的大小,那么应如何在程序中定义数组? 问题点数:0、回复次数:13Top
1 楼sh5dragon5(Zaknafein)回复于 2005-06-04 00:44:23 得分 0
先定义一个指针,然后用堆动态分配操作new来实现Top
2 楼zdb26(Snoon)回复于 2005-06-04 00:44:52 得分 0
用new吧,动态生成数组,需要一个指针来接受数组的首地址
如:
int* pArray = new int[nSize];
变量nSize就是数组的大小,只要在这条语句执行前得到正确的值就可以Top
3 楼foochow(无聊,灌水......)回复于 2005-06-04 00:46:49 得分 0
比如int*p;
p=new int[size];Top
4 楼wchzw(魔索剑扬)回复于 2005-06-04 14:19:37 得分 0
用标准模版库的vector容器就行了Top
5 楼mccxj(老鼠不逛街)回复于 2005-06-04 14:26:34 得分 0
用new。。可以动态生成数组,需要一个指针来接受数组的首地址
例如
cout<<sz;
int *p;
p=new int [sz];
用完之后记得delete就是了。。象delete []p;Top
6 楼wlfc(tongan)回复于 2005-06-04 14:45:56 得分 0
比如int*p;
p=new int[size];
if(p) //申请成功,可用;
{
}
else //申请未成功,出错处理;
{
}Top
7 楼wlfc(tongan)回复于 2005-06-04 14:53:32 得分 0
//不好意思,还没写完,就发出去了。
int*p;
... ...
p=new int[size];
if(p) //申请成功,可用;
{
... ...
}
else //申请未成功,出错处理;
{
... ...
}
//当申请成功时:
//如果p是全局变量,最晚在程序退出前,要用delete []p; 释放内存。
//如果p是局部变量,在退出函数前,要用delete []p; 释放内存。
//因为p是一个数组,所以delete 后的[]不可省略。
Top
8 楼mofengtt(漠风)回复于 2005-06-04 14:57:20 得分 0
楼上的这个全面些,应该给分!!Top
9 楼fengbaotiaorulei(风暴跳如雷)回复于 2005-06-04 15:04:45 得分 0
我想说的都说了,再说就是重复
哎,帮人顶一下算了
Top
10 楼CloudOfFly(追忆)回复于 2005-06-04 16:44:49 得分 0
揭贴吧 都回答了啊Top
11 楼yyj1982(一切从头开始,好好学英语)回复于 2005-06-04 16:50:48 得分 0
是啊,揭帖吧!!!
两种方法都有了!!!
1、用new来动态实现
2、用标准库的vector
Top
12 楼thuers(我什么都不会,所以我想多看看)回复于 2005-06-04 17:18:44 得分 0
呵呵~!
纯粹路过~!Top
13 楼lonelyforest(一生所爱)回复于 2005-06-04 18:33:46 得分 0
真巧, 我也是路过的.Top




