Xotiradan joy ajratish. - = () malloc()(); = () calloc()(, < element xotira hajmi>);
- a) new amali yordamida. Uning sintaksisi:
- b) malloc() va calloc() funksiyalari yordamida. Ularning sintaksisi:
- Ajratilgan dinamik xotirani bo'shatish – delete yoki free.
- int* u = (int *) malloc(sizeof(int));
- int* p = (int *) calloc(1, sizeof(int));
- delete n;
- delete [] p;
- free u;
- Ko’rsatgich ustida amallar.
- Ko'rsatkich ustida quyidagi amallar bajarilishi mumkin:
- ko'rsatkichga o'zgarmas qiymatni qo'shish amali;
- Ko’rsatgich ustida amallar.
- int n=5;
- float x=1.0;
- int *pi=&n;
- float *px=&x;
- void * p;
- int * r, * r1;
- px=(float *)&n;
- p=px;
- r=(int *)p;
- r1=pi;
- Agar har xil turdagi ko'rsatkichlarga qiymatlar berilsa, albatta turga keltirish amalidan foydalanish kerak:
- Ko’rsatgich ustida amallar.
- char * r = new char [5];
- r++; // r ning keyingi qiymatiga o’tish
- long * q = new long [53];
- q++ ; // q ning keyingi qiymatiga o’tish
- char * r = new char [5];
- r+=3; // r ning qiymati 3 taga oshadi
- long * q = new long [53];
- q+=3 ; // q ning qiymati 12 taga oshadi
- Massiv va Ko’rsatgichlar.
- Massivning nomi – massivning boshlang'ich adresiga ko'rsatkichdir.
- int a[5]={3,1,8,4,2}; //statik massiv
- int *p; // ko'rsatkich int b; p = a; // ko'rsatkichga massivning //boshlang'ich adresini o'zlashtirish b = * p; // b = a[0]; b = *(p+2) // b = a[2];
- int i=3;
- cout<<“\n a[“<
- for ( i = 0; i < N; i++ )
- cin >> A[i];
- ...
- for ( i = 0; i < N; i++ )
- {
- A[i] = i;
- cout << A[i] << " ";
- }
- Хotirani dinamik taqsimlash standart funktsiyalari xotiradan massiv uchun kerak bo'ladigan uzilmas, yaxlit qismini topadi va uning boshlang'ich adresini qaytaradi
- void* malloc(Massivning baytdagi o'lchami); void* calloc(elementlar soni, elementning baytdagi o'lchami);
- Хotiradan dinamik ob`yektni o'chirish uchun
- Dinamik massivni tashkil qilish va qiymatlarini kiritish:
- #include #include #include int main() { int *a; // massiv boshiga ko’rsatkich int i, n; system("cls"); printf(“Massiv o’lchamini kiriting: "); scanf("%d", &n);
- a = (int*)malloc(n * sizeof(int)); // Xotiradan joy ajratish for (i = 0; i// Massiv ni to’ldirish printf("a[%d] = ", i); scanf("%d", &a[i]); } for (i = 0; i// Massivni ekranga chop etish free(a); // Massivni xotiradan o’chirish getchar(); getchar(); return 0; }
XULOSA - Xulosa o’rnida shuni ta’kidlab o’tish joizki, ko’rsatkichlardan o’zgaruvchilarning xotiradagi adresslari orqali qo’llashda foydalaniladi.
- Xotirani taqsimlash uchun malloc() va calloc() funksiyalaridan foydalaniladi.
- MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI
- ISHNIYAZOV ODIL
- OLIMOVICH
- Informatika asoslari kafedrasi katta o’qituvchisi
- E’TIBORINGIZ UCHUN RAXMAT!
Do'stlaringiz bilan baham: |