分配乘法表的问题

时间:2019-07-02 11:54:57

标签: c malloc matrix-multiplication dynamic-memory-allocation

我需要编写一个程序来为乘法表分配内存。问题是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;
}

1 个答案:

答案 0 :(得分:0)

嵌套的mallocs()是您需要使用的。但是,请小心,因为您还需要使用几个frees()!

bird.request()