Fent a struktúrák lehetővé tette egy ilyen „műveletek”:
!Nem lehet összehasonlítani a szerkezetet.
Másolás megfelelő átviteli szerkezet érv funkciót.
Hozzárendelés felelős azért, hogy visszatérjen a szerkezet eredményeként a funkciót.
Három megközelítések átadása struktúrák működését és visszaút belőle:
- átviteli tagjainak külön-külön;
- átviteli szerkezet teljesen;
- Pointer átviteli szerkezetére.
10. példa: objektumok kell műveleteket végez a struktúrákat. __________________________________________________________________ típusú objektumok „pont” | "Téglalap" __________________ | _______________________________________________ Struktúra Point | Struct téglalap; |>; __________________ | _______________________________________________
Segítségével az ilyen típusú objektumok levelet számos funkciót.
11. példa: formáció pont annak komponenseire. struct pont makepoint (int x, int y)
Mi határozza meg, hogy ennek függvény objektum „képernyő” (például egy téglalapot a képernyő monitor).
i objektum „képernyő közepén” (mint egy pont a koordinátái a képernyő közepén).
12. példa: Formation tárgyak „képernyő” i „képernyő közepén”. # Adjuk MAXX 639 # Adjuk maxY 349 # Adjuk MINX 0 # Adjuk MINY 0. struct rect képernyőn; / * Object "képernyő" * / struct pont középen; / * Object "középső képernyő" * / struct pont makepoint (int, int); / * létrehozása a bal felső sarokban az objektum "képernyő": * /screen.pt1 = makepoint (MINX, MINY); / * létrehozása a jobb alsó sarkában az objektum " képernyő ": * /screen.pt2 = makepoint (MAXX, maxY); / * létrehozása tárgy" a képernyő közepén: * / középső = makepoint ((screen.pt1.x + screen.pt2.x) / 2, (Screen.pt1 .y + screen.pt2.y) / 2); 13. példa: hozzátéve pont struct Point ADDP (struct pont p1, struct P2 pont).
A forma az eredmény struktúrát alkalmazunk, akkor az átvitt első érv. Ez elfogadható, mivel a szerkezet át a másolás funkció. Ezért, ellentétben a otmakepoint itt nem kell a helyi struct változó típusa kialakulásának az eredmény.
14. példa: Do tartozik a téglalap r p egy pontot? pt_in_rect (struct p pont, struct rect R) / * kimenet nem 0, ha a pont tartozik, négyszög a p r. egyébként az eredmény 0 * /
Mutatók szerkezetek nem különböznek mutatókat közönséges változók.
15. példa: pointerek struct pont * ps szerkezetét; / * Pointer hogy a szerkezet * / struct pont t; struct pont makepoint (int, int); t = struct pont makepoint (15, 25); ps = t; / * * Ps - egy szerkezet t (* Ps). X = 15 (* Ps). Y = 25 * / printf ( "Ez t: (% d,% d)", (* ps) x, (* ps) y ..);
A zárójelben ebben a példában azért szükségesek, mert prio (.)> Prio (*).
<Указатель на структуру> -> <имя члена структуры>
Ha p - mutatót a szerkezetet. majd r -> <член структуры> - van annak tagja.
Tulajdonságok -> operátor:
- bináris;
- infiksny;
- a legmagasabb prioritást;
- livoasotsiativny.
16. példa: egyenértékű 15. példa .. printf ( "A t: (% d,% d)", PS -> X, PS-> y); 17. példa: struct rect R, * pr; pr = R; / * Egyenértékű: * / 1) r.pt1.x 2) PR-> pt1.x3) (r.pt1). X4) (PR-> PT1). XPrimer 18: átviteli szerkezet argumentum szerinti ssylke.main () struct pont makepoint (int, int); void put (struct pont *); p = makepoint (10, 12); put ( p);> void put (struct pont *) 19. példa: használata több szereplők rabotyso struktúrák elsőbbséget operatorov.struct * P; + + P-> len; / * Len + +, ahelyett, p + + (P-> len) * / + +; / * Equivalent * / (+ + P) -> len; / * 1) + + p; (Ugrás a következő vonal) * / / * 2). len; (Vegyük a hosszúság) * / (P ++) -> len; / * 1). len; (Vegyük string-hossz) * / / * 2) p + +; (Menj a következő sorban) * / p + + -> len; / * Egyenértékű * / * P-> str; / * * P-> str (valamit, ami utal str - Str [0]) * / * (P-> str); / * Egyenértékű * / * P-> str + +; / * 1) * p-> str (valamit, ami utal str - Str [0]) * / / * 2) str + +; / * (Ugorjon a következő elem - Str [1]) * / (* P-> str) + +; / * 1) * p-> str (valamit, ami utal str - Str [0]) * / / * 2) a növekedés egy karaktert kód, amely tartalmazza a str [0]) * / * P + + -> str; / * 1) * p-> str (valamit, ami utal str - Str [0]) * / / * 2) p + +; (Ugrás a következő sor) * /
A parancssori argumentumokat
A parancssorban futtatható fájlt, akkor át érveket írásban őket egy helyet. Ezek az érvek, amelyek nyilvántartása a parancssorban, yavlyayutsyafakticheskimi a fő. A hivatalos érvelés, hogy a fő funkciója teremt operációs rendszer. Ezért a fő funkciója képesnek kell lennie kezelni őket.
Érvek (formal) függvény fő:
- argc (argumentum szám): számos parancssori érvek;
- argv (argumentum vektor): mutató egy tömböt tartalmazó legtöbb érv.
20. példa: echo programot print parancssori amely megoszlik a _ szimbólum (megkülönböztetni rezultataot input string). Ha a parancssor tartalmazza a C:> echo A fő funkciója az echo napechataetC program:> echo_Golovna_funktsiya
Echo program az operációs rendszer kiépítésére, a tényleges érvek:
! A parancssori argumentumok szálakat.