Co to jest wskaźnik do funkcji wyjaśnić na przykładzie?
Co to jest wskaźnik do funkcji wyjaśnić na przykładzie?

Wideo: Co to jest wskaźnik do funkcji wyjaśnić na przykładzie?

Wideo: Co to jest wskaźnik do funkcji wyjaśnić na przykładzie?
Wideo: Function Pointers in C 2024, Grudzień
Anonim

W tym przykład , mijamy wskaźnik do funkcjonować . Kiedy mijamy wskaźnik jako argument zamiast zmiennej to adres zmiennej jest przekazywany zamiast wartości. Więc każda zmiana dokonana przez funkcjonować używając wskaźnik jest trwale tworzony pod adresem przekazanej zmiennej.

Co więcej, co rozumiesz przez wskaźnik do funkcji, wyjaśnij to na dowolnym przykładzie?

A wskaźnik do funkcjonować wskazuje na adres kodu wykonywalnego funkcjonować . Możesz posługiwać się wskaźniki zadzwonić Funkcje i zdać Funkcje jako argumenty dla innych Funkcje . W tym przykład , fp to wskaźnik do funkcjonować który zwraca int.

Poza powyższym, jak używać wskaźników do funkcji? Jak przekazać wskaźnik do funkcji

  1. Ćwiczenie 1: Wpisz kod źródłowy z Pointing at a Discount do edytora.
  2. Ćwiczenie 2: Zmodyfikuj swój kod źródłowy z ćwiczenia 1 tak, aby zmienna zmiennoprzecinkowa p była zadeklarowana w funkcji main().
  3. Ćwiczenie 3: Zbuduj nowy projekt za pomocą dwóch funkcji: create() i show().

Czy w ten sposób funkcja może być wskaźnikiem?

1) W przeciwieństwie do normalnych wskaźników, wskaźnik do funkcji wskazuje na kod, a nie na dane. Zazwyczaj wskaźnik funkcji przechowuje początek kodu wykonywalnego. 2) W przeciwieństwie do normalnych wskaźników nie przydzielamy alokacji pamięć za pomocą wskaźników funkcji. 3) Nazwa funkcji może być również użyta do uzyskania adresu funkcji.

Co jest wskaźnikiem do funkcji w C?

w C , możliwe jest również zdefiniowanie i użycie wskaźniki funkcji , tj. wskaźnik zmienne, które wskazują na Funkcje . Wskaźniki funkcji są deklarowane w następujący sposób: int (*fp)(); podwójny (*fptr)(); Tutaj fp jest zadeklarowane jako a wskaźnik do funkcji zwraca typ int, a fptr to a wskaźnik do funkcji który zwraca podwójnie.

Zalecana: