Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Modificatorul const

c



+ Font mai mare | - Font mai mic



Modificatorul    const

Am vazut anterior ca o constanta se defineste prin caracterele care intra in compunerea ei. De asemenea, in acelasi capitol s-a aratat ca putem atribui un nume unei constante printr-o constructie #define. Un astfel de nume se spune ca este o constanta simbolica si el se substituie prin sirul de caractere care ii corespunde, in faza de preprocesare.



Un alt mod de a defini o constanta este acela de a folosi modificatorul const intr-o declaratie. Printr-o astfel de declaratie, unui nume i se poate atribui o valoare constanta. In acest caz, numele respectiv nu mai este tratat de preprocesor si el poate fi folosit in program in mod analog cu numele variabilelor. Unui astfel de nume declarat cu ajutorul modificatorului const nu i se poate schimba valoarea printr-o expresie de atribuire, ca si unei variabile obisnuite.

Formatele declaratiei cu modificatorul const sunt urmatoarele:

tip const nume = valoare;

const tip nume = valoare;

tip const nume;

const tip nume;

const nume = valoare;

const nume;

Exemplu:

void main (void)

Modificatorul const se foloseste frecvent la declararea parametrilor formali de tip pointer. O astfel de declaratie are formatul:

const tip *nume_parametru_formal;

Un parametru formal declarat prin constructia :

tip *nume_parametru_formal;

corespunde unui parametru efectiv a carui valoare este o adresa. La apel, valoarea parametrului formal devine egala cu aceasta adresa. Datorita acestui fapt, functia apelata poate sa modifice data aflata la adresa respectiva. Daca se foloseste modificatorul const utilizat la declararea unui astfel de parametru formal atunci se interzice functiei apelate sa modifice data de la adresa receptionata la apel de catre parametrul formal corespunzator. Acest mecanism este folosit frecvent in cazul functiilor de tratare a sirurilor de caractere.

De exemplu functia strlen din biblioteca standard a limbajului C are prototipul:

unsigned strlen (const char *s);

Ea se apeleaza prin expresii de atribuire de forma:

i=strlen(x);

unde x este un pointer spre o zona de memorie in care se afla un sir de caractere.

Functia strlen determina lungimea sirului aflat la adresa receptionata de catre parametrul s. Ea nu are voie sa modifice sirul respectiv si din aceasta cauza parametrul s se declara    folosind modificatorul const



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 785
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved