Problem z dynaminicznie alokowaną tablicą dwuwymiarową - C

0

Witam. Rozkminiam sobie C i próbowałem dynamicznie zaalokować dwuwymiarową tablicę o rozmiarze 6*n. Dla n=1 jest ok, dla większych wartości - zwraca segmentation fault. Program ma ją wczytać i wypisać. Sprawdźcie:

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
    int n,i,j;

    scanf("%d",&n);

    int **tab = malloc(6 * sizeof *tab);
    *tab = malloc(n * 6 * sizeof **tab);
    for(i=0;i<n;i++)
    {
        for(j=0;j<6;j++)
        {
            scanf("%d",&tab[i][j]);
        }
     
    }
    for(i=0;i<n;++i)
    {
        for(j=0;j<6;j++)
        {
            printf("%d ",tab[i][j]);
        }
        printf("\n");

    }

    free(*tab);
    free(tab);
    tab = NULL;

    getchar();
    return 0;

}
 

Mógłby ktoś to sprawdzić i powiedzieć co mam źle? Ew jakieś rady odnośsnie nauki płynnego operowania wskaźnikami?

0

Już mam, do usunięcia.

1 użytkowników online, w tym zalogowanych: 0, gości: 1