Darsliklar C++ Ma’lumot turlari

C++ C++ Ma’lumot turlari

Ma’lumot turlari — C++’ning poydevoridagi eng muhim tushunchalardan biri. Har bir qiymat aniq turga ega bo’lishi shart, chunki tur qiymat xotirada qancha joy egallashini va u ustida qanday amallar bajarilishini belgilaydi. C++’ning tezligi aynan shu qat’iy turlar tizimidan kelib chiqadi.

Ma’lumot turiqiymatning tabiatini, xotiradagi hajmini va unga ruxsat etilgan amallarni belgilaydigan tasnif. C++ turlari asosiy (fundamental) va tuzilmali (composite) turlarga bo’linadi.

Asosiy turlar va ularning hajmi

C++’ning asosiy turlarini, ular egallaydigan taxminiy xotira hajmini va qiymat oralig’ini jadvalda ko’rib chiqamiz:

Tur Hajmi Nima saqlaydi Misol
int 4 bayt butun son 26
double 8 bayt aniqroq kasr son 3.14159
float 4 bayt kasr son 3.14f
char 1 bayt bitta belgi 'A'
bool 1 bayt rost/yolg’on true
string o’zgaruvchan matn "UzbekDevs"

Turlarni amalda ko’rish

Har bir turni e’lon qilib, natijasini kuzatamiz:

#include <iostream>
using namespace std;

int main() {
    int yosh = 26;
    double narx = 15000.75;
    char daraja = 'A';
    bool faol = true;
    string ism = "Master Sherkulov";

    cout << ism << endl;
    cout << "Yosh: " << yosh << ", narx: " << narx << endl;
    cout << "Daraja: " << daraja << ", faol: " << faol << endl;
    return 0;
}
Master Sherkulov
Yosh: 26, narx: 15000.8
Daraja: A, faol: 1

E’tibor bering: bool turdagi true ekranga 1 bo’lib chiqdi (false esa 0). Bu C++’ning mantiqiy qiymatlarni son sifatida saqlashining natijasi.

Turlar hajmini o’lchash — sizeof

Har bir tur qancha bayt egallashini sizeof operatori aniq ko’rsatadi:

#include <iostream>
using namespace std;

int main() {
    cout << "int: " << sizeof(int) << " bayt" << endl;
    cout << "double: " << sizeof(double) << " bayt" << endl;
    cout << "char: " << sizeof(char) << " bayt" << endl;
    return 0;
}
int: 4 bayt
double: 8 bayt
char: 1 bayt

Bu ma’lumot muhim: katta ma’lumotlar bilan ishlaganda to’g’ri tur tanlash xotirani sezilarli tejaydi.

Turlarni bir-biriga o’tkazish

Bir turni boshqasiga aylantirish type casting deb ataladi. Masalan, butun bo’lish muammosini kasr turga o’tkazib hal qilamiz:

#include <iostream>
using namespace std;

int main() {
    int a = 7, b = 2;
    double natija = (double)a / b;   // a ni double ga o'tkazamiz
    cout << natija << endl;
    return 0;
}
3.5

(double)a yozuvi a ni vaqtincha kasr songa aylantirdi, shu tufayli bo’lish aniq natija berdi. Turlarni ongli boshqarish — C++’da aniqlikning kalitidir.

Xulosa

Bu bo’limda C++’ning asosiy ma’lumot turlarini, ularning hajmini, sizeof bilan o’lchashni va type casting orqali turlarni o’tkazishni ko’rib chiqdik. Tur — bu qiymatning pasporti: u hajmni ham, imkoniyatlarni ham belgilaydi. Keyingi darsda operatorlar — qiymatlar ustidagi amallarga o’tamiz.