如何matlab 定义数组大小未知大小的数组

C++问题:如何定义一个未知大小的一维数组,数组大小由输入的值决定_百度知道
C++问题:如何定义一个未知大小的一维数组,数组大小由输入的值决定
我有更好的答案
array=new int[arraysize]; /&/动态内存分配 .;&/用指针指向一个数组 array=new int[arraysize];多大; new表示申请空间;&#47.? cin&gt:"什么类型;请输入数组的大小;/& int *&#47. delete []array,是一组空间所以加了[];&#47.;元素个数 cout&/最后要释放这个空间;
方法一: ……cout&&&请输入你想建立的一维数组维数:&&&cin&&n;int *array = new int[n];……delete []方法二:现代c++程序一般用容器vector代替数组。vector&int&添加值(比如1)用vec.pushback(1)
定义的时候,大小直接留空就ok了char a[];
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁c语言如何定义未知大小的动态数组
[问题点数:40分,结帖人lieve200]
c语言如何定义未知大小的动态数组
[问题点数:40分,结帖人lieve200]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2011年2月 C/C++大版内专家分月排行榜第二2010年2月 C/C++大版内专家分月排行榜第二2009年12月 C/C++大版内专家分月排行榜第二2009年11月 C/C++大版内专家分月排行榜第二
2009年10月 C/C++大版内专家分月排行榜第三
2009年3月 PHP大版内专家分月排行榜第二2008年12月 PHP大版内专家分月排行榜第二
2011年2月 C/C++大版内专家分月排行榜第二2010年2月 C/C++大版内专家分月排行榜第二2009年12月 C/C++大版内专家分月排行榜第二2009年11月 C/C++大版内专家分月排行榜第二
2009年10月 C/C++大版内专家分月排行榜第三
2009年4月 总版技术专家分月排行榜第一
2009年11月 Linux/Unix社区大版内专家分月排行榜第一2009年6月 Linux/Unix社区大版内专家分月排行榜第一2009年4月 C/C++大版内专家分月排行榜第一2009年3月 C/C++大版内专家分月排行榜第一2009年3月 Linux/Unix社区大版内专家分月排行榜第一2009年2月 Linux/Unix社区大版内专家分月排行榜第一
本帖子已过去太久远了,不再提供回复功能。c++ 如何定义未知元素个数的数组_百度知道
c++ 如何定义未知元素个数的数组
如果数组的元素个数不知道的话,只能通过动态内存分配了,静态内存分配是没有办法实现的,因为静态内存分配在定义数组的时候必须指定数组的大小为一个常量或者常数,例如:int array[10];或者const int Size=10;int array[Size];当然你可以采用常量的方法,但是就是每次必须打开源代码来调整这个数组的大小,很不方便,所以要采用动态内存分配的方法;在c语言中: //元素个数printf(&请输入数组的大小:&);scanf(&%d&,&arraysize);int *//用指针指向一个数组array=(int *)malloc(arraysize *sizeof(int));//动态内存分配....free(array);//最后要释放这个空间,用完了,当然要还给系统malloc()函数在内存堆区中寻找未被使用的内存,找够所需的字节数后返回该内存的起始地址。所需字节数通过参数知道,在本例中arraysize元素个数,乘以每一个元素的字节数,等于总的字节数;每一个元素的字节数通过测字节sizeof()运算符得到,元素的数据类型为int,所以测int类型需要多少字节。malloc()函数并不知道用这些内存干什么,所以返回一个没有类型的指针,但对于整型指针array来说,malloc()函数得返回值必须显式转换成整型指针才能被接受。所以前面加了一个(int *)。在c++中就可以不用malloc()函数和free()函数了。//元素个数cout&&&请输入数组的大小:&;cin&&int *//用指针指向一个数组array=new int[arraysize];
//动态内存分配....delete []//最后要释放这个空间,是一组空间所以加了[]。array=new int[arraysize]; new表示申请空间;什么类型?int;多大?arraysize返回该内存的起始地址存到array指针中
其他类似问题
为您推荐:
定义大点嘛,,多了又没问题
delete看来,兄弟,你都没怎么看过基础.
我记得直接定义array时候,如int array[....这里面不能跟算式,一定要是const],但是用malloc就可以用算式分配大小。。。你还是搞个上限,定义大点吧。或者用c++里的vector啊很好用的
可以了,现在的C99标准允许变量充当[。。],但你的用支持c99的编译器,如vc2005..
1.定义大点的数组,后面呢就用数组的一部分,前面有人提过了.2.使用const限制变量,但是这样定义的数组也没办法是未知的...3.用new[] delete[],或者低调点,用malloc和free4.用stl中的vector(实际上也是使用了new[]和delete[]...)5.使用局部数组,e.g.void func(int n) {int arr[n]; // 最好先对n进行检测下下...//...}...func(2*1-3+10);//()的东东用你的表达式代替了这种办法实际上使用的也是动态申请内存的方式,这是由编译器控制的,所以好处是你不需要管...6.还有的话我再想想...
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁如何定义一个未知长度的定长二维数组
[问题点数:20分,结帖人yeyu269]
如何定义一个未知长度的定长二维数组
[问题点数:20分,结帖人yeyu269]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。C 如何定义一个未知长度的数组
禽兽TA0337
嗯 确切可以这么做这在法度榜样中叫做动态数组或者数组的动态扩大其道理就是声明一种类型的指针然后在定义的时刻给它赋数组的大年夜小
为您推荐:
其他类似问题
扫描下载二维码

我要回帖

更多关于 c 定义未知长度的数组 的文章

 

随机推荐