“Ахборот технологиялари” факультети “Ахборот технологияларини дастурий таъминоти” кафедраси “маълумотлар тузилмаси ва алгоритмлар”


Download 0.64 Mb.
Pdf ko'rish
bet5/28
Sana21.02.2023
Hajmi0.64 Mb.
#1219557
1   2   3   4   5   6   7   8   9   ...   28
Келтирилган типлар. 
Саналадиган тип. 
Бир қанча қийматлардан бирини қабул қила оладиган ўзгарувчига саналадиган типдаги ўзгарувчилар 
дейилади ва бундай ўзгарувчиларни эълон қилишда enum калит сўзи ва ундан кейин тип номи ҳамда фигурали 
қавс ичида вергуллар билан ажратилган ўзгармас қийматлари рўйхати ишлатилади.
ишлатилади. Масалан: 
enum Ranglar{oq,qora,qizil,yashil}; 
Бу ерда Ranglar номли саноқли тип яратилди. Ушбу типнинг 4 та ўзгармас элементлари мавжуд ва улар 
дастлаб 0 дан бошлаб саналадиган бутун сонли қийматга эга бўладилар. Айрим холларда фойдаланувчи 
томонидан ўзгармасларга ихтиёрий сонли қиймат хам ўзлаштирилиши мумкин. Ўзгармасларга қийматлар ўсиш 
тартибида берилиши керак. Масалан,
enum Ranglar{oq=100,qora=200,qizil,yashil=400}; 
Бу ерда qizil ўзгармасни қиймати 201 га тенг бўлади. Энди шу типдаги бирорта ўзгарувчини эълон 
қилиш мумкин. 
Ranglar r=qizil; 
Энди r ўзгарувчи Ranglar типида аниқланган ўзгармаслардан ихтиёрий бирини қиймат сифатида қабул 
қила олади. Масалан. 
#include 
using namespace std; 
int main() 
{ enum kunlar{du=1,se,chor}; 
kunlar hafta
hafta=chor;
cout<
int kun; 
cout<<"\nbugun qaysi kun"; 
cin>>kun; 
if(kun==chor) cout<<"\ntalabalar bilan uchrashuvingiz bor"; 
system("pause"); 
}


8
Кўрсаткичли тур. 
Pointer тури маълумотларни кўрсаткичлари ёки манзиллари (адрес) тўпламини намоён қилади, яъни 
кўрсаткичлар маълумотларни эмас, балки бу маълумотлар жойлашган хотирадаги манзилни ўз ичига олади. 
Кўрсаткичлар хотирада бори йўғи 4 байт жойни эгаллаб, у кўрсатаётган маълумотлар анча катта жойни 
эгаллаган бўлиши мумкин. Кўрсаткичлар қандай ишлашини билиш учун машина хотираси ташкил 
этилишининг таянч принципларини билиш лозим. Машина хотираси 16 лик саноқ системасида номерланган 
ячейкалар кетма-кетлигидан иборатдир. Ҳар бир ўзгарувчининг қиймати унинг адреси деб аталувчи алоҳида 
хотира ячейкасида сақланади. Кўрсаткичли типдаги ўзгарувчилар ўзида ана шу каби ўзгарувчилар ёки бошқа 
маълумотларнинг хотирадаги адресини сақлайдилар. С++ да ўзгарувчини кўрсаткичли турда эълон қилиш учун 
ўзгарувчи номидан олдин * белгиси қўйилади. Хар бир ўзгарувчини типи билан эълон қилингани каби 
кўрсаткичли ўзгарувчилар хам маълум бир тип билан эълон қилинади. Бунда кўрсаткичли типдаги 
ўзгарувчининг типи – шу кўрсаткич кўрсатаётган хотира ячейкасидаги маълумотнинг типи билан бир хил 
бўлиши керак. Масалан, int a=1 бўлсин. Ушбу ўзгарувчини адресини ўзида сақловчи b кўрсаткичли 
ўзгарувчини эълон қилишда хам int типи ишлатилади, яъни int *b. Энди бундай типдаги ўзгарувчига а 
ўзгарувчини адресини ўзлаштириш учун а нинг олдига & - адрес операторини қўйиш зарур, яъни b=&a. 
Мисол. 
#include 
using namespace std; 
int main() 
{ short int a=1234567; 
short int *b; 
b=&a; 
cout<
system("pause"); 

Кўрсаткичли типлар ёрдамида файлларга хам мурожаат қилса бўлади, масалан: 
#include  
#include  
using namespace std; 
int main() 

FILE *p; 
char s[100]; 
if((p=fopen("f.txt","r"))==NULL)
cout<<"o'hshamadi"; 
else cout<<"ulandi"; 
fclose(p); 
system("pause"); 


Download 0.64 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   28




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling