在数组使用大多数情况都是事先分配好了内存、
例如:我要10元素,于是一一开始就分配 int *p = (int) malloc ( sizeof ( int )* 10 )
但是用到后发现我要用11个元素,但不是能保证 p地址后的第11个的内存空间是否可用,
于是我只好写个函数 重新分配 11个元素内存 把原先的0个元素数据拷贝进去,把新的数据加入到里面
接着把
int * 追加元素(原始数组 *p, int 追加数据)
{
int *p1 = (int) malloc ( sizeof ( int )* 11 )
后面的省略......................................
return p1 ;
}
int *pt = NULL;
pt = 追加元素(原始数组 *p, int 追加数据);
free ( p ) ; 释放原始数组的内存
p = p1; 防止后面代码写错,于是后面又可以用p了
有没有其他方法
例如:我要10元素,于是一一开始就分配 int *p = (int) malloc ( sizeof ( int )* 10 )
但是用到后发现我要用11个元素,但不是能保证 p地址后的第11个的内存空间是否可用,
于是我只好写个函数 重新分配 11个元素内存 把原先的0个元素数据拷贝进去,把新的数据加入到里面
接着把
int * 追加元素(原始数组 *p, int 追加数据)
{
int *p1 = (int) malloc ( sizeof ( int )* 11 )
后面的省略......................................
return p1 ;
}
int *pt = NULL;
pt = 追加元素(原始数组 *p, int 追加数据);
free ( p ) ; 释放原始数组的内存
p = p1; 防止后面代码写错,于是后面又可以用p了
有没有其他方法


