Caracteristicile C le-am explorat pana acum sunt tipice în alte limbaje de programare, de asemenea. În continuare, însă, vom vorbi despre modul în care gestionează C memoria computerului.
Câteva indicii despre Pointeri în C
Când programul C este încărcat în memorie (de obicei memoria cu acces aleator, sau RAM, pe computer), fiecare piesă a programului este asociat cu o adresă în memorie. Aceasta include variabilele pe care le utilizați pentru a ocupa anumite date. De fiecare dată când programul solicită o funcție, se încarcă că funcția și toate datele asociate acestuia în memorie doar suficient de lung pentru a rula această funcție și a reveni o valoare. Dacă treci parametrii la funcția, C face automat o copie a valorii de a utiliza în funcția.
Uneori, atunci când executați o funcție, deși, pe care doriți să facă unele schimbări permanente a datelor la versiunea originală sale locație de memorie. Dacă C face o copie a datelor de a utiliza în funcția, datele originale rămâne neschimbat. Dacă doriți să modificați că datele originale, trebuie să treacă un pointer la adresa de memorie (treci prin referință) în loc de a trece valoarea sa la funcția (trece de valoare).
Indicii sunt folosite peste tot în C , deci, dacă doriți să utilizați limbajul C complet trebuie să aibă o bună înțelegere a indicii. Un pointer este o variabilă ca alte variabile, dar scopul său este de a stoca adresa de memorie de alte date. Indicatorul are, de asemenea, un tip de date astfel încât să știe cum să recunoască biți la acea adresa de memorie.
Când te uiți la două variabile-side-by-side în cod C, s-ar putea să nu recunoască întotdeauna indicatorul. Acest lucru poate fi o provocare chiar și pentru programatorii C mai experimentați. Când creați mai întâi un pointer, deși, este evident că nu există mai mult trebuie să fie imediat un asterisc înainte de numele variabilei. Acest lucru este cunoscut sub numele de operatorul indirectare în C. Următorul cod exemplu creează un număr întreg