我希望用C++定义一个未知长度的数组,大概是x=3*A;int a[x];报错,请问正确的实现方法,谢谢!

因为数组的长度不一定,由程序上一步x=3*A决定。再定义a[x]。哎,,一分财富值都没有了,请大伙儿帮个忙~谢谢~

用你的这种方法是做不到的。因为程序需要在开始时就帮aF分配好空间,但是你这里面x是变量,编译是通不过的。
一定要动态的实现,只能用指针。
int *a;
a=malloc();
具体这个函数怎么用,你可以网上百度,要学会自己找知识。我只是说,你这样做,等于就是动态的分配了一定大小的数组给a,无非你觉得一个是数组,一个是指针,其实用法都一样。
比如你要用a[1]的值,你写成*(a+1)是一样的。
想要在程序运行时动态的分配内存,只能通过malloc(这一类的函数)。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-14
动态申请内存,然后将这块内存想象成数组进行处理
第2个回答  2011-11-14
都是先定义,后使用追问

呵呵可是程序要求这个数组的长度由前面那句决定啊。。。所以说很纠结= =

相似回答