Típus void - studopediya

Típus void (üres) szintaktikailag úgy viselkedik, mint az alaptípus. Azonban, akkor azt csak részeként származtatott típusú objektum típusa: void nem létezik. Ez azt jelzi, hogy a függvény nem ad vissza értéket, vagy egy bázis típusú mutatókat tárgyak ismeretlen típusú.

void f () // f nem tér vissza void * pv; // mutató egy objektum ismeretlen típusú

A változó típusa: void * hozzárendelhető egy pointert minden formáját. Első pillantásra ez nem tűnik különösen hasznos, mert akkor nem dereference void *, de ezt a korlátozást, és teszi a típus void * hasznos. Főként, hogy használják, hogy átutalja a függvénymutató amelyek nem teszik lehetővé, hogy a feltételezés, hogy milyen típusú objektumot, akkor a függvény típustalan tárgyakat. Ahhoz, hogy használni egy objektumot, akkor kell használni explicit típus-átalakítás. Ezeket a jellemzőket általában megtalálható a legalacsonyabb szinten a rendszer, ahol a munkát végzik az alapvető hardver erőforrásokat. Például:

int * pi; char ** cpp; // mutató mutató char int (* vp) [10]; // mutató egy vektort 10 int'ov int (* fp) (char, char *); // function pointer // A paraméterek (char, char *) // és visszatér egy int

A változó által mutatott p, - a c1, és a tárolt érték a c1, akkor az „a”, így a rendelt érték c2 * p „a”.

Fent mutatókat lehet tenni néhány számtani. Például egy függvényt, amely megszámolja, a sztring karaktereinek (nem számítva a lezáró 0):

bizonyulhat, hogy nagyon hasznos függvénymutatók; megvitatásukat # 4.6.7.

Kapcsolódó cikkek