|
Понятие о динамических данных. Динамические массивы
|
bet | 3/6 | Sana | 18.05.2024 | Hajmi | 78,3 Kb. | | #241946 |
Bog'liq 3-Mustaqil ishi 10Bir o'lchovli massivlar
Bir o'lchovli massiv nomi massiv boshi manziliga, ya'ni indeksi 0 (birinchi element) bo'lgan element manziliga teng bo'lgan doimiy ko'rsatkichdir .
int a[10] ;
&a[0] ga teng ,
a[0] * a ga teng ,
&a[i] ekvivalent a+i (i=0,1,...9) ,
a[i] *( a+i) ga teng .
a[0]
a[9]
...
a
Massivlar va ko'rsatkichlar o'rtasidagi bog'liqlik C da
Ikki o'lchovli massivlar
Ikki o'lchovli massivning nomi doimiy ko'rsatkichdir doimiy koʻrsatkichlar massivining boshiga (indeks 0 boʻlgan element ) , i- bu massivning elementi ikki o'lchovli massivning i -qatorining boshiga (indeks 0 bo'lgan element) doimiy ko'rsatgichdir .
Misol: int b[5][8];
Ikki o'lchovli massivlar
b[i][j] *( b[i]+j) *(*( b + i ) +j) ;
&b[i][j] b[i]+j *( b + i ) +j
Ikki o'lchovli massiv elementi uchun uchta belgining har biri uchun kodlardagi dastur ishlash jihatidan deyarli bir xil bo'lib chiqadi, garchi kvadrat qavslar o'rniga ko'rsatkich arifmetikasidan foydalanilganda u biroz qisqaroq bo'ladi.
Yaxshi dasturlash uslubi bitta dastur ichida bitta (uchtadan) notalardan foydalanishni o'z ichiga oladi.
Massivlar va ko'rsatkichlar o'rtasidagi bog'liqlik C da
Xotirani ajratish va bo'shatish uchun C funktsiyalari () - malloc ( inglizcha xotira ajratish, xotira ajratish) : void *malloc (size_t hajmi); Malloc() funktsiyasi ko'rsatgichni yig'imdan ajratilgan o'lchamdagi ( baytlarda ) xotira maydonining birinchi baytiga qaytaradi . Agar xotira yetarli bo'lmasa, NULL qaytariladi .
- calloc ( inglizcha aniq ajratish, toza xotira ajratish) :
void *calloc(size_t son, o'lcham_t o'lchami) ; Calloc funktsiyasi xotirani har bir o'lchamdagi bayt uzunlikdagi num qiymatlarini saqlash uchun ajratadi. Har bir qiymat nolga tenglashtiriladi. Agar xotira yetarli bo'lmasa, NULL qaytariladi . - realloc ( eng . qayta taqsimlash, xotirani qayta taqsimlash).
|
| |