Deklaracja funkcji z argumentem wskaźnika do tablicy wskaźnika

0

Napisz deklarację funkcji, która przyjmuje dwa argumenty. Pierwszy będący C-stringiem, a drugi będący wskaźnikiem do tablicy wskaźników do obiektów typu double. Funkcja ma zwracać wskaźnik do typu void.

void * funkcja(char * string,double * * tab[]) 
void * funkcja(char * string,double * * tab) 

Która wersja jest dobra czy obie ?

2

Żadna:

void *funkcja(char string[],double *(*tab)[]) 
0

czemu moja pierwsza opcja jest zła ?

void * funkcja(char * string,double * * tab[])  

czyli

 char * string

robi za C-string , bo pokazuje na początek stringu.

1

Jest zła z 2 powodów:
char* string to tylko wskaźnik na 1 element typu char, może to być początek jakiejś tablicy znaków, ale nie musi
double** tab[] to tablica elementów typu double** (wskaźnik na wskaźnik na double). To nie jest to samo co double* (*tab)[], co jest wskaźnikiem na tablicę tab elementów typu double*. Nawiasy robią różnicę w tym przypadku.

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