我是新手,不是高手。
感觉这个问题我也思考过,谈谈个人看法。
如果数组的数据成员不是很大(内置数据成员几乎都是这样),我看见很多程序用的是三楼的方法。比如:char inbuf[1000];这样,我们能解决大多数问题。为什么要这么做的原因很简单,正如五楼说的:
一般情况下定义数组必须指定大小,如 int a[10];
有的时间,数据结构比较复杂(比如一个复杂的结构体 作为一个数据成员),这时如果用上面的方法就会造成内存的大量浪费,我一般用动态分配内存的方法
malloc()
,而不用数组,以节约内存空间。
在C++中,这倒不是个难题。很多容器都可以支持动态改变数组大小。