Я не знаю, почему я получаю предупреждения для следующего кода.
#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;
}
Есть ли другой способ динамического выделения памяти для двойного указателя.
p
для начала? Почему неint *p[5];
? - person Ben Voigt   schedule 30.08.20135
было жестко закодировано в вашей программе, поэтому я думал, что вы знали это заранее. Если вы не знаете, пока после нескольких итераций, то я согласен. - person Ben Voigt   schedule 30.08.2013