Integrallashgan (murakkab) tuzilmalar boshqa oddiy yoki murakkab tuzilmalardan tashkil topgan bo’ladi.
Oddiy ma’lumotlar tuzilmasi asosan, murakkab (tarkibli) tuzilmalarni qurish uchun xizmat qiladi.Bu tuzilmalar sodda yoki tayanch tuzilma deb ham ataladi.
Misollar: sonli, bitli, mantiqiy, belgili, sanaladigan, interval (diapozon)li, ko’rsatkichli.
Ma’lumotlarning oddiy turlari odatda arifmetik turlar deb ham ataladi, chunki bu turlar ustida arifmetik amallar bajarish mumkin. Oddiy turlarni tavsiflash uchun quyidagi kalit so’zlari qo’llaniladi:
int (butun);
char (belgili);
wchar_t (kengaytirilgan belgili);
bool (mantiqiy);
float (haqiqiy);
double (ikkilik aniqlikdagi haqiqiy).
Birinchi to’rtta tur butun sonli (butun), oxirgi ikkita tur – qo’zg’aluvchi nuqtali deb ataladi. Kompilyatorda butun qiymatli ma’lumotni qayta ishlash kodi qo’zg’aluvchi nuqtali qiymatni qayta ishlash kodidan farq qiladi.
Oddiy turlarning ichki tasvirlanishi va diapozonini aniqlash uchun to’rtta maxsus tur mavjud:
short (qisqa);
long (uzun);
signed (ishorali);
unsigned (ishorasiz).
bool
|
true и false
|
1
| | | | | | |
signed char
|
-128 … 127
|
1
|
unsigned char
|
0 … 255
|
1
|
signed short int
|
-32 768 … 32 767
|
2
|
unsigned short int
|
0 … 65 535
|
2
|
signed long int
|
-2 147 483 648 … 2 147 483 647
|
4
|
unsigned long int
|
0 … 4 294 967 295
|
4
|
float
|
3.4e-38 … 3.4e+38
|
4
|
double
|
1.7e-308 … 1.7C+308
|
8
|
long double
|
3.4e-4932 … 3.4e+4932
|
10
|
Foydalanuvchining standart turlarini tavsiflashga misollar keltiring (intervalli va sanoqli turlar).
Dasturlashda yangi nomdagi turlarni yaratish uchun typedef kalit so’zidan foydalaniladi, uning dasturdagi sintaksisi quyidagicha:
typedef yangi_tur_nomi [o’lchami];
bu yerda kvatrat qavs yangi nomdagi turni yaratishda qo’llaniladigan umumiy sintaksis elementi hisoblanadi. Tur o’lchami kiritilmasligi ham mumkin.
Misollar
typedef unsigned int UINT;
typedef char Msg[100];
typedef struct {
char fio[30];
int date, code;
double salary;} Worker;
xuddi shunday e’lon qilingan yangi turlardan, dasturlash jarayonida oddiy standart turlar kabi foydalanish mumkin bo’ladi:
Ko’rsatkich turi
Ko’rsatkich – xotiraning unikal fizik adresini saqlovchi o’zgaruvchi turi hisoblanadi.
C++ tilining oldingi versiyalarida ko’rsatkich turini maxsus deklarator * (yulduzcha) yordamida e’lon qilish talab qilingan. Zamonaviy C++ da esa qayta ishlanmagan ko’rsatkich deb ataladi. Dastur kodida bunday ko’rsatkichli turlar maxsus operator *(yulduzcha) yoki -> (tire “katta” belgisi bilan).
Ko’rsatkichlar quyidagicha sintaksis asosida e’lon qilinadi:
<tur_nomi>*<ko’rsatkich_nomi>=<dastlabki_qiymat>
Misol:
int *ptr;
char *alfa;
Ko’rsatkichli tur o’zgaruvchisiga biron-bir adresni o’zlashtirish yoki uni ko’rsatkich qiymati sifatida olish uchun “&” operatoridan foydalaniladi.
Misol:
int i=100;
int *p=&i
unsigned longint *ul=NULL;
|