Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vytvoriť pamäť ukazovatele v C

C umožňuje rozsiahle použitie pamäťových ukazovateľov pre manipuláciu polia , funkcie volania , dátových štruktúr a oveľa viac . Znalosť , ako pracovať priamo s ukazovateľmi je kľúčom k efektívnemu C kódovanie . Návod
Vytvorte Memory Pointer Ukazovatele
1

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 ; 
3

Zváž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
4

Spoznajte 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; 
5

Využ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 6

Postú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 ) ; 
7

obí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 8 

Vytvorte 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; }

9

Pochopiť 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 . 

Najnovšie články