Bir va ikki o'lchovli massivlar ustida amallar


Dinamik massivlarga xotira ajratish uchun malloc(), calloc() funksiyalaridan yoki new operatoridan foydalanish mumkin. Dinamik obyektga ajratilgan xotirani bo`shatish uchun free() funksiyasi yoki dele


Download 180.24 Kb.
bet6/7
Sana06.02.2023
Hajmi180.24 Kb.
#1171375
1   2   3   4   5   6   7
Bog'liq
Mak70eJRxRkXgSHo0Vb95iTgGhZVRna2

Dinamik massivlarga xotira ajratish uchun malloc(), calloc() funksiyalaridan yoki new operatoridan foydalanish mumkin. Dinamik obyektga ajratilgan xotirani bo`shatish uchun free() funksiyasi yoki delete operatori ishlatiladi.

  • Dinamik massivlarga xotira ajratish uchun malloc(), calloc() funksiyalaridan yoki new operatoridan foydalanish mumkin. Dinamik obyektga ajratilgan xotirani bo`shatish uchun free() funksiyasi yoki delete operatori ishlatiladi.
  • Yuqorida qayd qilingan funksiyalar alloc.h kutubxonasida joylashgan.
  • Malloc() funksiyasining sintaksisi
  • void * malloc(size_t size) ;
  • ko`rinishida bo`lib, u xotiraning uyum qismidan size bayt o`lchamidagi uzluksiz sohani ajratadi. Agar xotira ajratish muvaffaqiyatli bo`lsa, malloc() funksiyasi shu soha boshlanishining adresini qaytaradi. Talab qilingan xotirani ajratish muvaffaqiyatsiz bo`lsa, funksiya NULL qiymatini qaytaradi.

Sintaksisdan ko`rinib turibdiki, funksiya void turidagi qiymat qaytaradi. Amalda esa konkret turdagi obyekt uchun xotira ajratish zarur bo`ladi. Buning uchun void turini konkret turga keltirish texnologiyasidan foydalaniladi. Masalan, butun turdagi uzunligi 3 ga teng massivga joy ajratishni quyidagicha amalga oshirish mumkin:

  • Sintaksisdan ko`rinib turibdiki, funksiya void turidagi qiymat qaytaradi. Amalda esa konkret turdagi obyekt uchun xotira ajratish zarur bo`ladi. Buning uchun void turini konkret turga keltirish texnologiyasidan foydalaniladi. Masalan, butun turdagi uzunligi 3 ga teng massivga joy ajratishni quyidagicha amalga oshirish mumkin:
  • int * pIntқ(int*)malloc(3*sizeof(int));
  • malloc() funksiyasidan farqli ravishda calloc() funksiyasi massiv uchun joy ajratishdan tashqari massiv elementlarini 0 qiymati bilan initsializatsiya qiladi. Bu funksiya sintaksisi
  • void * calloc (size_t num, size_t size) ;
  • ko`rinishda bo`lib, num parametri ajratilgan sohada nechta element borligini, size har bir element o`lchamini bildiradi.
  • Free() xotirani bo`shatish funksiyasi o`chiriladigan xotira bo`lagiga ko`rsatkich bo`lgan yagona parametrga ega bo`ladi:
  • void free (void * blok)

Download 180.24 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling