Oʻzgaruvchi nima? Xotira modeli

Kompyuter dasturi ishlashi uchun maʼlumotlarni operativ xotirada (RAM) saqlaydi. Xotirani millionlab kichik katakchalardan iborat ulkan javon deb tasavvur qiling — har bir katakchaning oʻz manzili bor.

Oʻzgaruvchi — bu xotiradagi nomlangan katakcha. Manzil (masalan, 0x7ffe3a2b) oʻrniga biz unga qulay nom beramiz: yosh, ball, narx.

Oʻzgaruvchini eʼlon qilish

C++ da oʻzgaruvchi ishlatishdan oldin eʼlon qilinadi: tip + nom.

  • int yosh; — eʼlon qilindi, lekin qiymati nomaʼlum (xotirada qolgan «chiqindi» qiymat!);
  • yosh = 20; — qiymat berildi (oʻzlashtirish);
  • int ball = 95; — eʼlon va qiymat berish birgalikda (initsializatsiya — tavsiya etiladi).

Asosiy maʼlumot tiplari

TipOʻlchamiNima saqlaydiMisol
int4 baytbutun sonlar (±2.1 mlrd)int soni = 42;
long long8 baytjuda katta butun sonlarlong long aholi = 8000000000;
float4 baytkasr sonlar (~7 raqam aniqlik)float pi = 3.14f;
double8 baytkasr sonlar (~15 raqam aniqlik)double e = 2.718281828;
char1 baytbitta belgichar baho = 'A';
bool1 bayttrue / falsebool otdi = true;

Tip ikki narsani belgilaydi: katakcha necha bayt egallashini va undagi bitlar qanday talqin qilinishini. Quyidagi animatsiyada oʻzgaruvchilarning xotirada qanday joylashishini kuzating — oʻz qiymatlaringizni kiritib koʻring!

🎬 Animatsion misol

«▶» tugmasini bosing yoki qadamma-qadam koʻring. Oʻz qiymatlaringizni kiritib sinab koʻrishingiz mumkin.

💻 C++ kod misoli

#include <iostream>
using namespace std;

int main() {
    // E'lon qilish va qiymat berish
    int yosh = 20;
    double ball = 87.5;
    char baho = 'B';
    bool talaba = true;

    // sizeof — tip xotirada necha bayt olishini ko'rsatadi
    cout << "int   : " << sizeof(int)    << " bayt\n";
    cout << "double: " << sizeof(double) << " bayt\n";
    cout << "char  : " << sizeof(char)   << " bayt\n";
    cout << "bool  : " << sizeof(bool)   << " bayt\n";

    // O'zgaruvchi qiymatini o'zgartirish
    yosh = yosh + 1;      // 21
    ball += 2.5;          // 90.0

    cout << "Yosh: " << yosh << ", ball: " << ball
         << ", baho: " << baho << ", talaba: " << talaba << endl;
    return 0;
}
Progress saqlanishi uchun roʻyxatdan oʻting
Keyingi dars →