• Adresdagi qiymatlar ustida amallarni bajarish
  • O„zbekiston respublikasi oliy va o„rta maxsus ta‟lim vazirligi samarqand davlat universiteti s. Eshtemirov, F. M. Nazarov




    Download 2,67 Mb.
    Pdf ko'rish
    bet122/173
    Sana16.05.2024
    Hajmi2,67 Mb.
    #238775
    1   ...   118   119   120   121   122   123   124   125   ...   173
    Bog'liq
    Tarixi 37 bet

    Adres olish amali 
    C++ dasturlash tilida biror bir o‗zgaruvchini uning sinonimi bilan 
    almashtirib unga murojat qilish imkoniyati mavjud. Biror bir o‗zgaruvchining 
    boshqa o‗zgaruvchiga adresini olish mumkin va unga murojat qilish uchun keyingi 
    adres bo‗yicha murojat qilinadi. C++ dasturlash tilida adres olish amalining 
    umumiy ko‗rinishi quyidagicha bo‗ladi: 
    &
    Adres olish amali asosan ko‗p hollarda funksiya parametrlari sifatida 
    olinadi, adres olish amalini C++ dasturlash tilida quyidagi dastur orqali tushuntirib 
    o‗tamiz: 

    #include  
    using namespace std;
    int main()
    { int x=12; 
    int &a=x; 
    a=(a+2)/2; 
    cout<<‖a=‖<return 0;
    }
    Dastur natijasi 
    a=7 
    Adres oluvchi o‗zgaruvchining ko‗rsatkichdan farqi shundaki, u xotiradan 
    alohida joy egallamaydi va faqat o‗z qiymati bo‗lgan o‗zgaruvchining boshqa nom 
    sifatida ishlatiladi. 
    Adresdagi qiymatlar ustida amallarni bajarish 
    Ba‘zan o‗zgaruvchilarning xotirada egallangan joyini hisobga olishga ham 
    to‗g‗ri keladi. 32 razryadli mashinalarda: 
    1 ta belgi 1 bayt, butun turli 
    (int)
    va haqiqiy turli 
    (float) 
    o‗zgaruvchilar to‗rt 
    bayt, suzuvchi vergulli 
    (double)
    turli o‗zgaruvchilar sakkiz bayt joyni egallaydi. 


    187 
    Ko‗rsatkichdan qiymat berish buyrug‗ining chap tarafidan foydalanish 
    mumkin. Bu holda u qandaydir qiymatni oladi va shu qiymatni o‗sha adresga yozib 
    qo‗yadi. Ushbu holatni quyidagi dasturni tahlil qilish bilan tushunish mumkin.
    #include  
    using namespace std; 
    int main( ) 

    int *p, x=100; cout <<"x ning eski qiymati= "<p=&x; cout<<"x o`zgaruchining adresi= "<
    *p=213; 
    cout<<"x ning yangi qiymati= "<system(―pause‖); 
    return 0; 

    Dastur natijasi quyidagicha bo‗ladi: 
    x ning eski qiymati= 100 
    x o‗zgaruvchining adresi= 0x28ff44 
    x ning yangi qiymati= 213 
    Shuningdek, ko‗rsatkich yordamida u ko‗rsatgan adresdagi qiymatning ustida 
    inkrement va dekrement amallarini bajarish mumkin. Bunda ko‗rsatkich qavs 
    ichida yozilishi shart. Chunki inkrement va dekrement amallari ko‗rsatkichga 
    nisbatan oldin bajariladi. Buni quyidagi dastur misolida tushunish mumkin. 
    #include  
    using namespace std; 
    int main( ) 

    float x=54.25, *p1; cout <<‖x="<p1=&x; cout <<"x ning adresi="<
    (*p1)++; cout <<"x="<(*p1)++; cout <<"x="<(*p1)--; cout <<"x="<*p1=13; cout <<"x="<(*p1)++; cout <<"x="<(*p1)++; cout <<"x="<(*p1)--; cout <<"x="<


    188 
    system(―pause‖); return 0;} 
    Dastur natijasi quyidagicha bo‗ladi: 
    x=54.25 
    x ning adresi= x28ff44 
    x=55.25 
    x=56.25 
    x=55.25 
    x=13 
    x=14 
    x=15 
    x=14 
    Endi ko‗rsatkichlar ustida arifmetik amallarni bajarish bilan tanishamiz: 
    Bizga ma‘lumki, 

    Download 2,67 Mb.
    1   ...   118   119   120   121   122   123   124   125   ...   173




    Download 2,67 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O„zbekiston respublikasi oliy va o„rta maxsus ta‟lim vazirligi samarqand davlat universiteti s. Eshtemirov, F. M. Nazarov

    Download 2,67 Mb.
    Pdf ko'rish