Scrigroup - Documente si articole

     

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


Comaparatie pointeri

c



+ Font mai mare | - Font mai mic



Comaparatie pointeri. Tablouri multi-dimensionale

Nou venitii in C sint uneori confuzi in legatura cu deosebirea



dintre un tablou bidimensional si un tablou de pointeri cum ar fi

name din exemplul de mai sus. Fiind date declaratiile

int a[10][10];

int *b[10];

utilizarile lui a si b pot fi similare, in sensul ca a[5][5] si

b[5][5] sint ambele referinte legale ale aceluiasi int. Dar

a este un tablou in toata regula: toate cele 100 celule de

memorie trebuie alocate iar pentru gasirea fiecarui element se

face calculul obisnuit al indicelui. Pentru b, oricum prin decla-

rarea se aloca 10 pointeri; fiecare trebuie facut sa pointeze un

tablou de intregi. Presupunind ca fiecare pointeaza cite 10 ele-

mente din tablou, atunci vom obtine 100 celule de memorie rezerva-

te, plus cele 10 celule pt pointeri. Astfel tabloul de pointeri

utilizeaza sensibil mai mult spatiu si poate cere un pro explicit

de initializare. Dar, exista doua avantaje: accesarea unui element

se face indirect prin intermediul unui pointer, in loc sa se faca

prin inmultire si adunare iar liniile tabloului pot fi de lungimi

diferite. Aceasta insemna ca nu orice element al lui b este con-

strins sa pointeze pe un vector de 10 elemente, unii pot pointa

pe cite 2 elemente, altii pe cite 20 si altii pe niciunul.

Desi am mai discutat acest lucru la intregi, de departe,

cea mai frecventa utilizare a tabloului de pointeri este cea

ilustrata prin mounth-name: sa stocheze lanturi de caractere de

lungimi diferite.

Exercitiul 5.6. Rescrieti rutinele day_of_year si mounth-day cu

pointeri in loc de indexare.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1140
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