回 帖 发 新 帖 刷新版面

主题:请问如何为一级指针分配连续一串内存,并用一个二级指针指向?

请问如何为一级指针分配连续一串内存,并用一个二级指针指向?
#define size 100
int **HF_code=NULL;
HF_code=(int *)malloc(sizeof(int *)*100);
//error!cannot convert from 'int*'to 'int ** '

回复列表 (共4个回复)

沙发

用二级指针指向有什么用?

HF_code=(int **)malloc(sizeof(int *)*100);

板凳


您好:
   一个int类型的一级指针可以malloc一串空间;
   那么需要一串这样的int类型的指针 该怎么办?
   于是我参照严蔚敏的数据结构书上的做法:
   象上面那样做 但出错。
   不过一种替代的方法是 用指针数组:
   int *a[80];
   不过我不清楚为什么书上出错 
   谢谢

3 楼

动态二维数组的实现:

int i,n,m;
int **array2d;
scanf("%d%d",&n,&m);
array2d=(int**)malloc(sizeof(int*)*n);
for(i=0;i<n;++i)
    array2d[i]=(int*)malloc(sizeof(int)*m);
/*使用*/
...
/*回收*/
for(i=0;i<n;++i)
    free(array2d[i]);
free(array2d);

这样可以了吗?

4 楼

谢谢

我来回复

您尚未登录,请登录后再回复。点此登录或注册