Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wskaźniki do funkcji i wywoływanie funkcji

Ostatnio zmodyfikowano 2018-09-07 20:15
Autor Wiadomość
wojtek1985
Temat założony przez niniejszego użytkownika
Wskaźniki do funkcji i wywoływanie funkcji
» 2018-09-07 07:52:17
np. mamy tablicę

const double av[3]={2.3232,5.21323,6.32312};

Załóżmy że mamy taką oto funkcję

//deklaracja

const double * f1 (const double *, int );

//definicje sobie pomińmy nie ma znaczenia;

//chcemy zadeklarować do tego wskaźnik więc robimy tak:

const double* (*p1) (const double ar[] , int n);

// teraz zadeklarujmy tablicę wskaźników

const double* (*pn[3]) (const double ar[] , int n);

// mając tablicę możemy zadeklarować taki oto wskaźnik:

auto pb=pn;



i teraz moje pytanie brzmi:


jeśli nazwa tablicy jest adresem jej pierwszego elementu to bp jest adresem pierwszego elementu tablicy pn czy pb (jedno i drugie wskazuje ten sam element) skoro tak to *pb jest jej pierwszym elementem czyli wskaźnikiem na funkcję więc dlaczego nie możemy wywołać takiej funkcji w taki sposób

np.

(*pb)(av,3);

bo w taki już możemy np.

pb[0](av,3) ???

przecież (*pb) jest równe pb[0] czyż nie???????
P-172272
Monika90
» 2018-09-07 09:43:54
Można tak wywołać, (*pb)(av,3) i pb[0](av,3) to jest to samo.

I oczywiście nazwa tablicy jest nazwą tablicy, a nie jakimś tam adresem.
P-172273
wojtek1985
Temat założony przez niniejszego użytkownika
» 2018-09-07 20:15:55
Faktycznie próbowałem wywołać to w taki sposób *pf(av,3) a to trzeba (*pf)(av,3)
Temat zamknięty
P-172274
« 1 »
  Strona 1 z 1