Cda O'zgaruvchi Turlari Turlari(Data Types)
Ushbu qo'llanmada siz C da int
, float
, char
va boshqalar kabi asosiy ma'lumotlar turlari haqida bilib olasiz.
C da o'zgaruvchilarning ma'lumotlar turlarini bildirish kerak. Misol uchun:
int myVar;
Bu yerda myVar
int
(integer) turidagi o'zgaruvchidir. Int
ning hajmi 4 bayt hisoblanadi.
Basic types
Turi Hajmi (bytes) Format Specifier
int 4 %d
float 4 %f
char 1 %c
double 8 %lf
short int 2 %hd
unsigned int 2,odatda 4 %u
long int eng kami 4, odatda 8 %ld, %li
long long int eng kami 8 %lld, %lli
unsigned long int eng kami 4 %lu
unsigned long long int eng kami 8 %llu
signed char 1 %c
unsigned char 1 %c
long double eng kamida 10, odatda 12 or 16 %Lf
int
Integerlar butun sonlar , integer sonlar tarkibiga manfiy sonlar ham kiradi,
Shunday qilib, integerlar manfiy{-1, -2, -3, -4, ...}
, musbat{1, 2, 3, 4, ...}
yoki nol {0}
bo'lishi mumkin.
Masalan:
0
, -5
, 10
C da biz int
(integer)dan butun sonli o'zgaruvchini hosil qilishimiz mumkin.
int id;
Bu yerda id butun sonli o'zgaruvchidir. C da birdaniga bir nechta o'zgaruvchilarni e'lon qilishingiz mumkin. Masalan:
int id, age;
int id;
int age;
Int
hajmi odatda 4 baytni (32 bit) tashkil qiladi. Va -2147483648 dan 2147483647 gacha bo'lgan 2^32 ta aniq holatni olishi mumkin.
float and double
float
va double
haqiqiy sonlarni ushlab turish uchun ishlatiladi.
Masalan:
float salary;
double price;
C da floating-point raqamlari eksponent sifatida ham ifodalanishi mumkin. Masalan:
float normalizationFactor = 22.442e2;
Float va double o'rtasidagi farq nima?
Float
hajmi (bitta aniqlikdagi float ma'lumotlar turi) 4 baytni tashkil qiladi. Va double
hajmi (ikki tomonlama aniqlikdagi float ma'lumotlar turi) 8 baytni tashkil qiladi.
char
char kalit so'zi belgilar turidagi o'zgaruvchilarni e'lon qilish uchun ishlatiladi. Masalan:
char test = 'h';
char hello = 'A';
Eslatma:
char
ga qiymat berayotganda ' ' (bitta qo'shtirnoq)dan foydalaniladi, vachar
ga 1 ta belgidan oshiq belgi kiritish mumkin emas!
char
(character) o'zgaruvchisi hajmi 1 bayt.
void
void
to'liq bo'lmagan tur. Bu "hech narsa" yoki "hech qanday turdagi" degan ma'noni anglatadi. Void
ni yo'q deb o'ylashingiz mumkin. Masalan, funktsiya hech narsani qaytarmasa, uning qaytish turi void bo'lishi mumkin. Shuni esingizdan chiqarmangki, void tipidagi o'zgaruvchilar yaratolmaysiz.
short and long
Agar sizga katta raqamlardan foydalanish zarur bo'lsa, siz long tipidagi aniqlovchi vositadan foydalanishingiz mumkin.
Masalan:
long a;
long long b;
long double c;
Bu yerda a
va b
o'zgaruvchilar butun son qiymatlarini saqlashi mumkin. Va, c
floating-point (ya'ni kasrli sonlar yoki qoldiq son) raqamini saqlashi mumkin.
Agar siz codingizda faqat kichik butun sondan foydalanishingizga ishonchingiz komil bo'lsa, siz short
ni ishlatishingiz mumkin. short
[-32,767, +32,767] oralig'idagi sonlarni qabul qiladi.
short d;
short int a;
Sizeof () operatori yordamida har doim o'zgaruvchining o'lchamini tekshirishingiz mumkin.
#include <stdio.h>
int main() {
short a;
long b;
long long c;
long double d;
printf("short ning hajmi = %d bytes\n", sizeof(a));
printf("long ning hajmi = %d bytes\n", sizeof(b));
printf("long long ning hajmi = %d bytes\n", sizeof(c));
printf("long double ning hajmi = %d bytes\n", sizeof(d));
return 0;
}
signed and unsigned
C da signed va unsigned tip modifikatorlari. Siz ularni ishlatib ma'lumotlar turini saqlashni o'zgartirishingiz mumkin. Masalan:
unsigned int x;
int y;
Bu yerda x
o'zgaruvchisi faqat nol
va musbat
qiymatlarni ushlab turishi mumkin, chunki biz unsigned
modifikatoridan foydalanganmiz.
Int hajmini 4 baytligin hisobga olgan holda, y
o'zgaruvchisi -2147483648
dan 2147483647
gacha, x
o'zgaruvchisi 0
dan 4294967295
gacha bo'lgan qiymatlarni ushlab turishi mumkin.
C da boshqa ma'lumotlar turlari(other data types):
- bool Type
- Enumerated type
- Complex types
Derived Data Types
Ma'lumotlarning asosiy turlaridan kelib chiqadigan ma'lumotlar turlari derived tiplaridir. Masalan: listlar, pointerlar, funktsiyalar turlari, strukturalar va boshqalar. Ushbu olingan ma'lumotlar turlari haqida keyingi o'quv qo'llanmalarida bilib olamiz.
Telegram Blog @asadbekdev