Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Masive de pointeri si masive multidimensionale

c


Masive de pointeri si masive multidimensionale

Adesea se creeaza confuzii in ceea ce priveste diferenta dintre un masiv bidimensional si un masiv de pointeri. Fie date declara# 343b11d 5;iile:



int a[10][10];

int *b[10];

In aceasta declaratie a este un masiv de intregi caruia i se aloca spatiu pentru toate cele 100 de elemente, iar calculul indicilor se face in mod obisnuit pentru a avea acces la oricare element al masivului.

Pentru masivul b, declaratia aloca spatiu numai pentru zece pointeri, fiecare trebuind sa fie incarcat cu adresa unui masiv de intregi.

Presupunind ca fiecare pointer indica un masiv de zece elemente inseamna ca ar trebui alocate inca o suta de locatii de memorie pentru elementele masivelor.

In aceasta acceptiune, folosirea masivelor a si b poate fi similara in sensul ca a[5][5] si b[5][5], de exemplu, se refera ambele la unul si acelasi intreg (daca fiecare element b[i] este initializat cu adresa masivului a[i]

Astfel, masivul de pointeri utilizeaza mai mult spatiu de memorie decit masivele bidimensionale si pot cere un pas de initializare explicit. Dar masivele de pointeri prezinta doua avantaje, si anume: accesul la un element se face cu adresare indirecta, prin intermediul unui pointer, in loc de procedura obisnuita folosind inmultirea si apoi adunarea, iar al doilea avantaj consta in aceea ca dimensiunea masivelor pointate poate fi variabila. Acest lucru inseamna ca un element al masivului de pointeri b poate indica un masiv de zece elemente, altul un masiv de doua elemente si altul de exemplu poate sa nu indice nici un masiv.

Cu toate ca problema prezentata in acest paragraf am descris-o in termenii intregilor, ea este cel mai frecvent utilizata in memorarea sirurilor de caractere de lungimi diferite (ca in functia month_name prezentata mai sus).



Document Info


Accesari: 371
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )