Задача этой книги дать краткое и четкое изложение языка С++ в соответствии со стандар том iso/iec 14882. Она предназначена для студентов, изучающих язык «с нуля»



Download 2 Mb.
bet43/232
Sana29.03.2022
Hajmi2 Mb.
#516205
TuriЗадача
1   ...   39   40   41   42   43   44   45   46   ...   232
Bog'liq
Т. А. Павловская C C . Программирование на языке высокого уровня

Структуры (struct)


 îòëè÷èå îò ìaññèâa, âñå ýëåìåíòû êîòîðîãî îäíîòèïíû, ñòðóêòóða ìîæåò ñî- äåðæaòü ýëåìåíòû ðaçíûõ òèïîâ.  яçûêå C++ ñòðóêòóða яâëяåòñя âèäîì êëañña è îáëaäaåò âñåìè åãî ñâîéñòâaìè, íî âî ìíîãèõ ñëó÷aяõ äîñòaòî÷íî èñïîëüçîâaòü ñòðóêòóðû òaê, êaê îíè îïðåäåëåíû â яçûêå C:
struct [ èìя_òèïa ] { òèï_1 ýëåìåíò_1; òèï_2 ýëåìåíò_2;

òèï_n ýëåìåíò_n;
} [ ñïèñîê_îïèñaòåëåé ];
Ýëåìåíòû ñòðóêòóðû íaçûâaþòñя ïîëяìè ñòðónòóðû è ìîãóò èìåòü ëþáîé òèï, êðîìå òèïa ýòîé æå ñòðóêòóðû, íî ìîãóò áûòü óêaçaòåëяìè ía íåãî. Åñëè îòñóòñò- âóåò èìя òèïa, äîëæåí áûòü óêaçaí ñïèñîê îïèñaòåëåé ïåðåìåííûõ, óêaçaòåëåé èëè ìaññèâîâ. Â ýòîì ñëó÷aå îïèñaíèå ñòðóêòóðû ñëóæèò îïðåäåëåíèåì ýëåìåí- òîâ ýòîãî ñïèñêa:
// Îïðåäåëåíèå ìaññèâa ñòðóêòóð è óêaçaòåëя ía ñòðóêòóðó: struCt {
Char fiO[30]; int date, COde; dOuble salary;
}stuff[100], *ps;
Åñëè ñïèñîê îòñóòñòâóåò, îïèñaíèå ñòðóêòóðû îïðåäåëяåò íîâûé òèï, èìя êîòî- ðîãî ìîæíî èñïîëüçîâaòü â äaëüíåéøåì íaðяäó ñî ñòaíäaðòíûìè òèïaìè, íaïðè- ìåð:
struCt WOrker{ // îïèñaíèå íîâîãî òèïa WOrker Char fiO[30];
int date, COde;

dOuble salary;


}; // îïèñaíèå çaêaí÷èâaåòñя òî÷êîé ñ çaïяòîé
// îïðåäåëåíèå ìaññèâa òèïa WOrker è óêaçaòåëя ía òèï WOrker: WOrker stuff[100], *ps;
Èìя ñòðóêòóðû ìîæíî èñïîëüçîâaòü ñðaçó ïîñëå åãî îáúяâëåíèя (îïðåäåëåíèå ìîæíî äaòü ïîçäíåå) â òåõ ñëó÷aяõ, êîãäa êîìïèëяòîðó íå òðåáóåòñя çíaòü ðaçìåð ñòðóêòóðû, íaïðèìåð:
struCt List; // îáúяâëåíèå ñòðóêòóðû List struCt Link{
List *p; // óêaçaòåëü ía ñòðóêòóðó List Link *prev, *suCC; // óêaçaòåëè ía ñòðóêòóðó Link
};
struCt List { /* îïðåäåëåíèå ñòðóêòóðû List */};
Ýòî ïîçâîëяåò ñîçäaâaòü ñâяçíûå ñïèñêè ñòðóêòóð.
Äëя èíèöèaëèçaöèè ñòðónòóðû çía÷åíèя åå ýëåìåíòîâ ïåðå÷èñëяþò â ôèãóðíûõ ñêîáêaõ â ïîðяäêå èõ îïèñaíèя:
struCt{
Char fiO[30]; int date, COde; dOuble salary;
}wOrker = {"Còðaóñåíêî", 31, 215, 3400.55};
Ïðè èíèöèaëèçaöèè ìaññèâîâ ñòðóêòóð ñëåäóåò çaêëþ÷aòü â ôèãóðíûå ñêîáêè êaæäûé ýëåìåíò ìaññèâa (ó÷èòûâaя, ÷òî ìíîãîìåðíûé ìaññèâ — ýòî ìaññèâ ìañ- ñèâîâ):
struCt COmplex{ flOat real, im;
} COmpl [2][3] = {
{{1, 1}, {1, 1}, {1, 1}},// ñòðîêa 1, òî åñòü ìaññèâ COmpl[0]
{{2, 2}, {2, 2}, {2, 2}} // ñòðîêa 2, òî åñòü ìaññèâ COmpl[1]
};
Äëя ïåðåìåííûõ îäíîãî è òîãî æå ñòðóêòóðíîãî òèïa îïðåäåëåía îïåðaöèя ïðè- ñâaèâaíèя, ïðè ýòîì ïðîèñõîäèò ïîýëåìåíòíîå êîïèðîâaíèå. Còðóêòóðó ìîæíî ïåðåäaâaòü â ôóíêöèþ è âîçâðaùaòü â êa÷åñòâå çía÷åíèя ôóíêöèè. Äðóãèå îïå- ðaöèè ñî ñòðóêòóðaìè ìîãóò áûòü îïðåäåëåíû ïîëüçîâaòåëåì (ñì. «Ïåðåãðóçêa îïåðaöèé», ñ. 189). Ðaçìåð ñòðóêòóðû íå îáяçaòåëüíî ðaâåí ñóììå ðaçìåðîâ åå ýëåìåíòîâ, ïîñêîëüêó îíè ìîãóò áûòü âûðîâíåíû ïî ãðaíèöaì ñëîâa.

Download 2 Mb.

Do'stlaringiz bilan baham:
1   ...   39   40   41   42   43   44   45   46   ...   232




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish