Си++ тилида берилганларнинг cтатик ва динамик структураси



Download 0,53 Mb.
bet1/3
Sana21.03.2022
Hajmi0,53 Mb.
#505076
  1   2   3
Bog'liq
курсаткич 2t

Си++ тилида берилганларнинг cтатик ва динамик структураси

  • Курсаткичлар.
  • ТАТУ информатика Б.М.Р.
  • Статик берилганлар
  • хар бир ўзгарувчининг номи (массив) бўлади, ўша ном воситасида унга мурожаат қилинади.
  • ўлчами олдиндан маълум (дастур тузаётганда аниқланади)
  • хотира эълон қилинганда ажратилади
  • дастур ишлаш давомида ўлчамни ўзгартириш мумкин эмас.
  • int x, y = 20;
  • float z, A[10];
  • char str[80];
  • Динамик берилганлар
  • ўлчами олдиндан ноаниқ, дастур ишлаши давомида аниқланади.
  • хотира дастур ишлаш давомида ажратилади.
  • Муаммо:
  • агар берилганларнинг номи бўлмаса уларга қандай мурожаат қиламиз?
  • Ечим:
  • хотирадаги адреси орқали.
  • Муаммо: 1) кандай ўзгарувчиларда адресни сақлаш мумкин ?
  • адреслар билан қандай ишланади?
  • Курсаткичлар.
  • Курсаткич –бу шундай ўзгарувчики, бошқа ўзгарувчининг адресини ўзида сақлайди.
  • Эълони :
  • Адрес қандай ёзилади:
  • char *pC; // символ адреси
  • // ( ёки массив эълони )
  • int *pI; // бутун ўзгарувчи адреси
  • float *pF; // хақиқий ўзгарувчи адреси
  • int m = 5, *pI;
  • int A[2] = { 3, 4 };
  • pI = & m; // m ўзгарувчи адреси
  • pI = & A[1]; // A[1] массив адреси
  • pI = NULL; // нул адреси ёки бўш адрес д-ди
  • &
  • scanf("%d", &m);
  • Берилганларга мурожаат қилиш усуллари
  • Курсаткич орқали берилганлар билан ишлаш.
  • Массивлар билан ишлаш.
  • int m = 4, n, *pI;
  • pI = &m;
  • printf ("m = %d", * pI); // қийматни чоп қилиш
  • n = 4*(7 - *pI); // n = 4*(7 - 4) = 12
  • *pI = 4*(n – m); // m = 4*(12 – 4) = 32
  • printf("&m = %p", pI); // адресни чоп қилиш
  • int *pI, i, A[] = {1, 2, 3, 4, 5, 999};
  • pI = A;// A[0] адреси худди A каби ёзилади
  • while ( *pI != 999 ) { // while( A[i] != 999 )
  • *pI += 2; // A[i] += 2;
  • pI++; // i++ (кейинги элементга ўтиш)
  • }
  • *
  • %p
  • pI++ оператори sizeof(int) га силжитади
  • !
  • Адресга кўра қийматни «олиш»
  • Кўрсаткични эълон қилаётганда, кўрсаткич кўрсатаётган ўзгарувчининг тури аниқланган бўлиши керак ва ўзгарувчи номи олдига * (бир ўлчовли), **(икки ўлчовли…) белгиси қўйилиши керак;
  • & белги узгарувчининг адресини ифодалайди(&m- m нинг адресини олади ) ;
  • дастур ичида кўрсаткич(эълондаги кўрсаткич эмас) олдига қўйилган * белги кўрсаткич кўрсатаётган объектнинг(ўзгарувчи, ўзгармас) хотирадаги ячейкани кўрсатади;
  • Хакикий бўлмаган кўрсаткични ифодалаш учун NULL (бўш кўрсаткич)константаси дан фойдаланилади;
  • кўрсаткичнинг қийматини n га ўзгартириш дегани жорий турдаги n- чи сонга силжитиш деган маънони англатади , масалан, бутун сонларда n*sizeof(int))
  • Курсаткич %p формат ёрдамида чоп қилинади.
  • Кўрсаткични аниқ бир объектга нисбатан ишлатиш керак , акс холда фавқулотда холатлар юзага келади )!

Download 0,53 Mb.

Do'stlaringiz bilan baham:
  1   2   3




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish