Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  


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


Initializare

c

+ Font mai mare | - Font mai mic





DOCUMENTE SIMILARE

Trimite pe Messenger
Dispozitii speciale privind protectia soft
APLICATII STRUCTURI
Operatori logici pe biti
Argumentele argc si argv ale functiei main()
Reprezentarea interna a numerelor intregi
Verificarea inexistentei de elemente pare in lista
Adunarea, scaderea si inmultirea numerelor intregi
Modifica informatia ultimului nod din lista
GRAFICA - Unit-ul Graph
Definirea unei ferestre

TERMENI importanti pentru acest document

Initializare

Variabilelor li se pot atribui valori initiale. Pentru variabilele globale valorile initiale se atribuie prin definitiile lor, iar in cazul celorlalte variabile se pot atribui valori prin declaratiile lor. Pentru ca de multe ori am folosit cuvintele definitia variabilelor sau declaratiile varibilelor precizam ca ele au inteles distinct in anumite contexte. O variabila globala se defineste o singura data si se poate declara ori de cate ori e necesara utilizarea ei in alte fisiere (evident declarata externa). In cazul celorlalte tipuri de variabile definitiile si declaratiile coincid. Totodata definitia si declaratia (prototipul) unei functii nu coincid.




O variabila simpla se poate initializa printr-o declaratie de forma:

tip nume=expresie;

Variabilelor globale si statice li se atribuie valori initiale la lansarea programului. Expresia utilizata in cazul acestor variabile trebuie sa fie o expresie constanta care sa poata fi evaluata de compilator la intalnirea ei. Aceasta, deoarece variabilele globale si statice se initializeaza prin valori definite la compilare.

Variabilele automatice se initializeaza la executie, de fiecare data cand se activeaza functia in care sunt declarate. Din aceasta cauza, nu mai este necesar ca expresia sa fie o expresie constanta. Totusi, la intalnirea ei, trebuie sa fie definiti operanzii expresiei de initializare.

Exemplu:

void f(int n)

La intalnirea expresiei i+n sunt deja definiti ambii operanzi:

i a fost in prealabil initializat cu valoarea 10;

n are o valoare care e transferata la apel.

Variabilele globale si statice neinitializate au implicit valoarea egala cu zero, iar varibilele automatice neinitializate au o valoare initiala imprevizibila.

Tablourile se pot initializa printr-o lista de expresii incluse intre acolade. Astfel un tablou unidimensional se poate initializa folosind urmatorul format:

tip nume[n] =

La initializarea tablourilor se pot utiliza numai expresii constante. Numarul expresiilor poate fi mai mic decat numarul elementelor tabloului. Elementele neinitializate au valoarea zero in cazul tablourilor globale si statice. Daca se initializeaza fiecare element al tabloului atunci numarul n al elementelor acestuia nu mai este obligatoriu in declaratia tabloului respectiv. Deci se poate scrie astfel:

tip nume[ ] =

Numarul elementelor tabloului se considera ca este egal cu cel al expresiilor care realizeaza initializarea lor.

Pentru un tablou bidimensional vom folosi urmatoarea structura:

tip nume [n][m] = , // pentru linia intai

, // pentru linia a doua



. . .

, // pentru ultima linie

}

Numarul expresiilor poate fi mai mic decat m in oricare din acoladele corespunzatoare celor n linii ale tabloului bidimensional. In acest caz se poate omite doar numarul n (al liniilor tablourilor), m fiind obligatoriu. Formatul de initializare a tablourilor bidimensionale se extinde imediat pentru tablouri cu mai multe dimensiuni.

Tablourile de tip caracter pot fi initializate folosind un format mai simplu decat cel indicat anterior. Astfel, un tablou de tip caracter se poate initializa printr-o declaratie de forma:

char sir[n] = sir_de_caractere;

Evident, marginea superioara n poate fi omisa si in acest caz. Totodata compilatorul pune automat caracterul NUL dupa ultimul caracter al sirului utilizat in initializare.

Exemple:

1) int itab[] = // tabloul de tip intreg are 5 elemente itab[0] = 1,. . . itab[4] = 5

2) int m[3][3] = ,,}; // tabloul are 3 linii si 3 coloane.

Elementele primei linii sunt initializate astfel:

m[0][0] = 1;

m[0][1] = 0;

m[0][2] = 1;

In linia a doua se initializeaza numai m[1][0] = -1; Daca tabloul ar fi declarat global sau static atunci m[1][1] si m[1][2] ar avea valoarea zero. Altfel ele au o valoare imprevizibila.

Elementele ultimei linii se initializeaza astfel:

m[2][0] = 0;

m[2][1] = 1;

declaratiile de mai jos sunt identice:

char sir [ ] = ;

char sir [ ] = ;






Politica de confidentialitate



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 394
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 2022 . All rights reserved

Distribuie URL

Adauga cod HTML in site