Kengaytirilgan tiplar


ULASHISH

Boshqa ma’lumot tiplari

Asosiy tiplardan (int, float, double, char) tashqari, C tilida sonning qanchalik katta bo‘lishi yoki manfiy bo‘la olishini boshqarish uchun kengaytirilgan kalit so‘zlar (short, long, unsigned) ham mavjud:

Tip Hajmi* Diapazon (odatda) Format spetsifikatori
short int 2 bayt -32,768 dan 32,767 gacha %hd
unsigned int 2 yoki 4 bayt 0 dan 65,535 gacha (2 bayt)
0 dan 4,294,967,295 gacha (4 bayt)
%u
long int 4 yoki 8 bayt -2,147,483,648 dan 2,147,483,647 gacha (4 bayt)
-9,223,372,036,854,775,808 dan 9,223,372,036,854,775,807 gacha (8 bayt)
%ld
long long int 8 bayt -9,223,372,036,854,775,808 dan 9,223,372,036,854,775,807 gacha %lld
unsigned long int 4 yoki 8 bayt 0 dan 4,294,967,295 gacha (4 bayt)
0 dan 18,446,744,073,709,551,615 gacha (8 bayt)
%lu
unsigned long long int 8 bayt 0 dan 18,446,744,073,709,551,615 gacha %llu
long double 8, 12 yoki 16 bayt Amalga oshirilishga (kompilyatorga) bog‘liq, lekin double tipidan aniqroq %Lf

unsigned tip faqat manfiy bo‘lmagan qiymatlarni (0 va undan katta) saqlay olishini bildiradi.

*Eslatma: Bu tiplarning hajmi tizimdan tizimga farq qilishi mumkin (masalan, 2 yoki 4 bayt, yoxud 4 yoki 8 bayt). Bu kompyuterning eski yoki yangiligiga, 32 bitli yoki 64 bitli ekaniga hamda qaysi kompilyator ishlatilishiga bog‘liq.

Quyida bu kengaytirilgan tiplarni qanday yaratish va chop etish mumkinligiga misol keltirilgan:

Misol

int normalInt = 1000;                       // standard int 
double normalDouble = 3.14;                 // standard double

short int small = -100;                     // smaller int
unsigned int count = 25;                    // only positive int
long int big = 1234567890;                  // larger int
long long int veryBig = 9223372036854775807; // very large int
unsigned long long int huge = 18446744073709551615U; // very large, only positive
long double precise = 3.141592653589793238L; // extended precision

printf("Normal int: %d\n", normalInt);
printf("Normal double: %lf\n", normalDouble);
printf("Small: %hd\n", small);
printf("Count: %u\n", count);
printf("Big: %ld\n", big);
printf("Very Big: %lld\n", veryBig);
printf("Huge: %llu\n", huge);
printf("Precise: %Lf\n", precise);

O‘zingiz sinab ko‘ring »

Eslatma: Bu kengaytirilgan tiplar asosan xotiradan foydalanish yoki son diapazonlarini juda aniq nazorat qilish kerak bo‘lganda ishlatiladi.

Eslatma: Kundalik dasturlash uchun odatda int, float, double va char tiplari yetarli.



Hajmni tekshirish

*Aniq hajmlar tizimingiz va kompilyatoringizga bog‘liq. Ularni sizeof operatori yordamida tekshirish mumkinligini yodda tuting:

Misol

printf("Size of int: %zu bytes\n", sizeof(int));
printf("Size of double: %zu bytes\n", sizeof(double));
printf("Size of short int: %zu bytes\n", sizeof(short int));
printf("Size of unsigned int: %zu bytes\n", sizeof(unsigned int));
printf("Size of long int: %zu bytes\n", sizeof(long int));
printf("Size of long long int: %zu bytes\n", sizeof(long long int));
printf("Size of unsigned long long int: %zu bytes\n", sizeof(unsigned long long int));
printf("Size of long double: %zu bytes\n", sizeof(long double));

O‘zingiz sinab ko‘ring »

Maslahat: Sonlaringiz hajmini haqiqatan ham aniq nazorat qilish kerak bo‘lsa, keyinroq o‘rganadigan qat’iy o‘lchamli tiplardan foydalanishingiz mumkin.

Eslatma: Bu sahifa faqat C tilida boshqa kengaytirilgan tiplar ham borligini ko‘rsatish uchun mo‘ljallangan. Hozircha ushbu darslikda asosiy tiplarga e’tibor qaratishda davom etamiz (int, float, double, char).



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!