C funkcijos mes ištirtos tiek, kiek yra tipiška kitais programavimo kalbų, taip pat. Be to, nors, mes kalbame apie tai, kaip C valdo kompiuterio atmintį.
Kai apie Nukreipti rodykles C
Kai jūsų C programa yra pakrautas į atmintį (paprastai laisvosios kreipties atminties, ar RAM, kompiuteryje), kiekvienas iš programos gabalas yra susijęs su atminties adresą. Tai apima kintamuosius jūs naudojate laikyti tam tikrus duomenis. Kiekvieną kartą, kai jūsų programa iškviečia funkciją, jis įkelia tą funkciją ir visas su ja susijusias duomenis į atminties tik pakankamai ilgai, kad paleisti šią funkciją ir grąžina reikšmę. Jei jums perduoti parametrus į funkciją, C automatiškai daro iš vertės kopija naudoti funkciją.
Kartais, kai jums paleisti funkciją, nors, jūs norite padaryti šiek tiek nuolatinę kaitą prie duomenų jo originalas atminties vietą. Jei C daro duomenų naudojame funkciją kopiją, originalą duomenys išlieka nepakitę. Jei norite tai pakeisti pradinius duomenis, turite praeiti žymiklį į savo atminties adreso (praeiti nuoroda), o ne artimųjų savo vertę funkcija (perduoti pagal vertę).
Pointeriai yra naudojami visur C , todėl, jei norite naudoti C kalba visiškai jūs turite turėti gerą supratimą apie rodykles. Rodyklė yra kaip ir kiti kintamųjų kintamasis, tačiau jo tikslas yra saugoti atminties adresą kai kurių kitų duomenų. Rodyklė taip pat turi duomenų tipą, todėl žino, kaip atpažinti bitai tuo atminties adresą.
Žiūrėdami dviejų kintamųjų side-by-side C kodą, Jums ne visada gali pripažinti žymeklį. Tai gali būti net už labiausiai patyrusių C programuotojų iššūkis. Kai pirmą kartą sukurti rodyklę, nors tai daugiau nei akivaizdi, nes turi iš karto būti žvaigždutę prieš kintamojo pavadinimą. Tai yra žinoma kaip Netiesiogiai operatoriaus C. Toliau pateiktame pavyzdyje kodas sukuria sveikasis skaičius I ir rodyklė į sveikojo skaičiaus p:
int i;
int * p;
Šiuo metu nėra priskirta vertė arba I, arba p. Be to, galime priskirti vertę I ir tada priskirti psl atkreipti į I adresą
I = 3;.
p = & i