39003

39003



125


WSKAŹNIKI NA FUNKCJE

/* kod...*/

>

void moje.urzadzenie.zamknij (void)

{

/* kod... */

>

int rejestruj_urzadzenie(struct urządzenie Au) {

/* kod... */

>

int init (void)

<

struct urządzenie noje.urządzenie; moje.urzadzenie.otworz * moje.urzadzenie.otworz; noje.urzadzenie.zamknij « moje.urzadzenie.zaaknij; rejestruj.urządzenie(Anoje.urzadzenie);

>

W ten sposób w pamięci każda klasa musi przechowywać wszystkie wskaźniki <k> wszystkich metod. Innym rozwiązaniem może być stworzenie statycznej struktury ze wskaźnikami do funkcji i wówczas w strukturze będzie przechowywany jedynie wskaźnik do tej struktury, np.:

struct urzadzenie.metody { int (*otuorz)(void); void (*zanknij)(void);

);

struct urządzenie {

const struct urzadzenie.metody *m;

>

int moje.urzadzenie.otworz (void)

<

/* kod...*/

>

void moje.urzadzenie.zamknij (void)

{

/• kod... •/

>

static const struct urzadzenie.metody moje.urzadzenie.metody - { moje.urzadzenie.otworz, moje.urzadzenie.zamknij

>;

int rejestruj.urządzenie(struct urządzenie Au) { /* kod... */

>

int init (void)



Wyszukiwarka

Podobne podstrony:
tfdekl Mając wskaźnik f na funkcję, funkcję na którą on wskazuje, wywołuje się podobnie jak w tablic
tfwsk6 Podobnie jak nazwa tablicy jest wskaźnikiem na pierwszy element, nazwa funkcji jest wskaźniki
123 WSKAŹNIKI NA FUNKCJE Można także zastosować bardziej oszczędny sposób alokowania tablicy
Przykład C) Wskaźnik na pierwszą 3-elementową tablicę (pierwszą z dwóch) void main() { int
DSC00763 Wskaźniki do funkcji Wskaźnik do funkcji wskazuje adres miejsca w pamięci, w którym zaczyna
urzadzenia Usta urządzeń dyskowych z priorytetami i wskaźnikiem na aktualne

więcej podobnych podstron