我需要编写一个程序来为乘法表分配内存。问题是malloc,calloc和realloc的单次调用限制为80个字节,我不知道如何逐步分配内存。 如果有人可以帮助我,我将不胜感激。
这是我已经尝试过的。如果我在一次调用中分配了400个字节的内存,它将起作用。
int main()
{
int row = 10;
int col = 10;
int w=0;
int k=0;
int *tab = (int *)malloc(row*col*sizeof(int));
if(tab == NULL)
{
printf("Failed to allocate memory");
return 8;
}
int i=0;
for (w=0; w<row; w++)
{
for(k=0; k<col; k++)
{
*(tab+w*col+k) = ++i;
}
}
for (w=0; w<row; w++){
for(k=0; k<col; k++){
printf("%3d ", *(tab+w*col+k) );
}
printf("\n");
}
free(tab);
return 0;
}
答案 0 :(得分:0)
嵌套的mallocs()是您需要使用的。但是,请小心,因为您还需要使用几个frees()!
bird.request()