Dlaczego używamy takiej składni dla NCB ?

0

Hej, mam problem ze zrozumieniem odwołania się do struktury NCB (Network Control Block). Posłużę się przykładem kodu:

UCHAR reset( NCB *block ) {
	block->ncb_command = NCBRESET;
	block->ncb_lana_num = 2;
	block->ncb_lsn = 0;
	block->ncb_num = 0;
	Netbios(block);
	return block->ncb_retcode;
}

Struktura NCB prezentuje się dla mnie jak pola w normalnej strukturze poza tym później w głównej funkcji nie deklarujemy żadnego wskaźnika na tę strukturę ani też nie alokujemy mu pamięci, po prostu zadeklarowana jest zmienna block typu NCB (NCB block;) i to wszystko. Następnie dane przesyłane są za pomocą & który jak wiadomo pozwala wydobyć adres. Dlaczego tutaj odwołujemy się do tej struktury w taki sposób ?

Struktura NCB poniżej:


typedef struct _NCB {
	UCHAR  ncb_command;
	UCHAR  ncb_retcode;
	UCHAR  ncb_lsn;
	UCHAR  ncb_num;
	PUCHAR ncb_buffer;
	WORD   ncb_length;
	UCHAR  ncb_callname[NCBNAMSZ];
	UCHAR  ncb_name[NCBNAMSZ];
	UCHAR  ncb_rto;
	UCHAR  ncb_sto;
	void   (CALLBACK *ncb_post)( struct *NCB);
	UCHAR  ncb_lana_num;
	UCHAR  ncb_cmd_cplt;
	UCHAR  ncb_reserve[X];
	HANDLE ncb_event;
} NCB, *PNCB;

0

A utwórz sobie swoją strukturę i potem wskaźnik do obiektu jej typu. Też się będziesz odwoływał do jej zmiennych i metod za pomocą strzałki.

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