Cześć :) Mam mam dwie funkcje: tworzącą i usuwającą macierz kwadratową. Czy ktoś mógłby mi wytłumaczyć co robię źle?
Wyskakuje mi coś takiego:
Kod:
void CreateMatrix ( double*** t, int nSize )
{
double** tmp = *t = ( double** ) calloc ( nSize, sizeof(double*) );
for ( int i = 0; i<nSize; i++ )
{
*tmp++ = ( double* ) calloc ( nSize, sizeof(double) );
}
}
void DeleteMatrix ( double*** pTab, int nSize )
{
double** tmp = *pTab;
for ( int i = 0; i < nSize; i++ )
{
free ( *tmp++ );
}
free ( tmp );
}
int main ( int argc, char* argv[] )
{
double** pTab = NULL;
CreateMatrix ( &pTab, 5 );
DeleteMatrix ( &pTab, 5 );
return 0;
}