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?