我不知道爲什麼我得到以下代碼的警告。c中的雙指針,我的代碼的賦值警告
#include<stdio.h>
#include<malloc.h>
int main()
{
int **p;
int i,j;
for(i=0;i<5;i++)
{
if(i==0)
p=(int*)malloc(1*sizeof(int));
else
p=(int*)realloc(p,(i+1)*sizeof(int));
p[i]=(int*)malloc(5*sizeof(int));
for(j=0;j<5;j++)
{
p[i][j]=j;
}
}
for(i=0;i<5;i++)
{
for(j=0;j<5;j++)
printf("%5d",p[i][j]);
printf("\n");
}
return 0;
}
是否有任何其他方式爲雙指針動態分配內存。
你能顯示警告信息嗎? – krsteeve
@Sashank,你想用這個代碼做什麼? –
爲什麼你使用'p'的動態分配開始?爲什麼不'int * p [5];'? –