Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
Vytvorenie komplexný dátový typ v C zahŕňa vytvorenie toho , čo je známe ako štruktúra , pomocou " struct " kľúčové slovo . Tieto štruktúry budú zvyčajne obsahovať dva alebo viac dátových premenných , a predstavujú ucelený dátový typ ( skôr než len ako zbierka náhodných dát ) . Napríklad , nasledujúce štruktúru C predstavuje uzol vo väčšej dátové štruktúry , a obsahuje časť dát , a ukazovateľ na iné štruktúry rovnakého typu :
struct Node {
int data = 1 ;
struct * Node ďalšie ;
} ;
ukazovatele
rámci " uzla " štruktúry existuje ukazovateľ na inú štruktúru uzla . Ukazovatele na štruktúry sú veľmi časté pri odovzdávaní premenné štruktúry k funkciám . Oni sú tiež faktorom pri rozhodovaní , ktorý firmy programátor by mal použiť k referenčným údajom štruktúry . Ukazovatele vytvoriť pamäťové odkaz na dátový typ , skôr ako vytvárať plytké premennú dátového typu . Takže v nasledujúcom príklade , prvé vyhlásenie deklaruje premennú štruktúru v miestnom rozsahu , čo znamená , že musí byť skopírované a pohyboval . Druhé vyhlásenie deklaruje ukazovateľ na štruktúru v pamäti , ktorá umožňuje veci , ako je dynamické prideľovanie pamäte :
struct Uzol x ;
struct * uzla y ;
Dot zápis
firmy vyžaduje na prístup k dátam v konštrukciách závisí od kontextu štruktúry . Ak programátor deklaruje premennú štruktúru ako lokálne premenné , potom sa bude pristupovať k dátam pomocou tečkové notácie . Dot zápisnica sa jednoducho pripojí premennú štruktúru a dátový člen štruktúry prostredníctvom dot symbol ( " . " ) . Nasledujúce príklady ukazujú , ako by sa programátor načítať dáta z premennej v uzle pomocou tečkové notácie :
struct Uzol x ;
int j = x.data ; //j sa rovná jednému
šípka Značenie
iný kontext pre načítanie dát zo štruktúr je , keď programátor má ukazovateľ skôr než na štruktúru lokálne premenné . Keď programátor vytvorí ukazovateľ na štruktúru , dve veci muselo stať . Po prvé , musí sa deklarovať ukazovateľ štruktúry . Po druhé , musí sa alokovať pamäť , takže pamäť ukazovateľ odkazy so správnou veľkosťou . Potom , ona môže použiť šípky notáciu ( " - > " ) pre prístup k dátam :
struct * uzla r ; klipart
y = malloc ( sizeof ( struct uzol ) ) ; //alokuje pamäť k y vo veľkosti uzla struct
int j = y - > dát ; //číslo j sa rovná jednému