Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
pochopiť , že ukazovateľ pamäti premenné vždy ukazovať na dáta určitého typu . Napríklad , ukazovateľ na int sa líši od ukazovateľ na char . Avšak , C ťa zastaviť z voľne miešania je . Urobte tak len vtedy , ak ste si istí , že viete , čo robíte .
2
Vytvorte ukazovateľ pamäti premennej pomocou syntaxe by ste použiť na vytvorenie premennej požadovaný typ , ale s Hviezdička ( * ) pred názvom premennej , ako je tento :
int * x ;
3Zvážte NULL . Ukazovatele môžu byť vždy NULL ( 0 ) , a to je zvyčajne používaný sa odkazovať na ukazovateľ , ktorý ešte nebol nastavený na bod kdekoľvek .
Referencie a Získavanie
4Spoznajte odkazovanie . referencie
sa vzťahuje k procesu hľadania ukazovateľ na existujúce premenné . V jazyku C , obsluha odkazovanie je ampersand ( & ) . Napríklad :int color = 5 ; int * pointer_to_color ; pointer_to_color = &color;
5Využite dereferencing . Získavanie
je proces po ukazovateľ na jeho hodnotu , opak odkazovanie . V C hviezdička ( * ) sa používa pre dereferencing , takto :printf ( " Farba je % d \\ n" , * pointer_to_color ) ; /* vytlačí 5 * /
Používanie pamäťovej Pointer Ukazovatele
Praha 6Postúpiť ukazovateľ na premennú , keď potrebujete funkcie , aby bolo možné meniť premennú , miesto odovzdania hodnoty premennej . To umožňuje použitie funkcie dereferencing zmeniť hodnotu :
močenia convert_color_to_RGB ( int farba , int * červené , int * zelená , int * modrá ) { * červená = redpart ( farba ) ; * zelená = greenpart ( farba ) ; * modrá = bluepart ( farba ) ; } convert_color_to_RGB ( 15 , & myred , a mygreen , a myblue ) ;
7obísť limity C je . Kedykoľvek budete chcieť prejsť pole alebo štruktúry do funkcie , musíte odovzdať ukazovateľ miesto , pretože C umožňuje iba jednotlivé typy dát , ktoré majú byť odovzdané do funkcie :
int Medzisúčet ( int * skóre , int Howman ) { int spolu = 0 , i , for ( i = 0 ; aj návrat všetkých ; } Stránka 8Vytvorte slučku Pretože reťazce sú vlastne pole znakov , môžete vytvoriť ukazovateľ na znak , ktorý chcete prechádzať reťazec : < pre . > void replace_character ( char * s , char z , char k ) { char * cp , pre ( cp = y ; cp && * cp ; cp + + ) if ( * cp == od ) * cp = k; }
9Pochopiť spôsob C názory polí . Polia sú spracované C ako ukazovatele , pomocou ukazovateľa aritmetický . C bude automaticky násobiť , čo pridáte do ukazovatele podľa veľkosti prvkov , na ktorý odkazuje . To znamená , že
skóre [ 5 ] = 17 , je presne rovnaký ako* ( body + 5 ) = 17 ; . Môžete použiť ukazovatele ako skratka pre pole dereferences Napríklad ,* skóre = 17; . vždy sa odkazuje na 0. prvok poľa .
- Predchádzajúca strana: Ako vytvoriť prepojený zoznam v C
- Ďalšia strana: Ako deklarovať funkciu v C