Cześć,
pisze właśnie program na odwracanie macierzy, skonstruowany tak, że mam wskaźnik na tablice ze wskaźnikami na liczby w tablicy, wytłumaczył by mi ktoś co oznaczają podwójne wyznaczniki tablicy ?
double **Tab;
tak zdefiniowany wskaźnik na wskaźniki tablicy ( o ile dobrze rozumiem) mam w głównym pliku cpp (main), wszystkie funkcje typu Transponowane mam w innym pliku wysyłam tam wszystkie dane. podaje przykład jednej z funkcji.
double** TransposeTable(double** tab, int size){
double **Tab2;
Tab2 = (double**)malloc(size*sizeof(double*));
for (int i = 0; i < size; i++)
Tab2[i] = (double*)malloc(size*sizeof(double));
for (int i = 0; i < size; i++) {
for (int j = 0; j < size; j++)
*(*(Tab2 + i) + j) = *(*(tab + j) + i);
}
return Tab2;
}
Samo przesyłanie plików rozumiem, wyznaczniki też w miarę wiem o co chodzi, problem pojawia się gdy próbuje rozkminić co tak naprawdę zwróci mi funkcja gdy wpisze *tab , samo tab , czy np. jak jest różnica miedzy
*(*(Tab + w) + k) =
a
(*(*(tab)+w))
Kiedy mam wskaźnik na liczbę w tablicy a kiedy wskaźnik na tablice wskaźników? Ciężko mi to wytłumaczyć, mam nadzieje że ktoś jest obeznany w tym remacie i pomoże zrozumieć o Co tak naprawdę chodzi tym wskaźnikom?
PS. Aha używam malloca, tak tak wiem jest przecież funkcja new, ale niestety. (wymogi uczelni)