struct{
char fi o[30];
int date, code;
double salary;
} worker = {"Страусенко", 31, 215, 3400.55};
69
Құрылымдардан тұратын жиымдарды инициалдау кезінде жиымның
əрбір элементін жүйелі жақшаның ішіне жазу керек (көпөлшемді жиым –
бұл жиымдардан құралған жиым екенін ескеру қажет):
struct complex{
fl oat real, im;
} compl [2][3] = {
{{1, 1}, {1, 1}, {1, 1}},
// 1 жол, яғни comp1[0] жиымы
{{2, 2}, {2, 2}, {2, 2}}
// 2 жол, яғни comp1[1] жиымы
};
Құрылымдық типтері бірдей болып келетін айнымалылар үшін
меншіктеу
операциясы анықталған, мұнда əр элементті жеке-жеке көшіріп жазу жүзеге
асырылады. Құрылымды функцияға беруге жəне функция мəні ретінде
қайтаруға болады. Құрылымдарға қолданылатын басқа операцияларды
қолданушылардың өздері анықтайды («Операциялардың асыра жүктелуі»
тақырыбын қараңыз, 205 б.). Құрылымның өлшемі оның элементтерінің
өлшемдерінің қосындысына тең болмауы мүмкін, себебі олар сөздің шекара-
ларына байланысты тураланады.
Құрылымның өрістеріне қол жеткізу (пайдалану) – құрылым атауы
арқылы орындалғанда
. (нүкте) жəне нұсқауыш арқылы орындалғанда
->
таңдау операциялары көмегімен жүзеге асырылады, мысалы:
Worker worker, stuff[100], *ps;
...
worker.fi o = "Страусенко";
stuff[8].code = 215;
ps->salary = 0.12;
Егер құрылым элементі ретінде басқа құрылым қолданылса, онда оның
элементтеріне қол жеткізу екі таңдау операциясы арқылы орындалады:
struct A {int a; double x;};
struct В {A a; double x;} х[2];
х[0].а.а = 1;
х[1].х = 0.1;
Осы мысалдан байқайтынымыздай, əртүрлі құрылымдардың өріс ата-
улары бірдей болуы мүмкін, себебі олардың көріну аймағы əртүрлі. Егер
құрылымдық айнымалыны анықтау кезінде
struct
сөзі қолданылса, онда бір
көріну аймағында бірдей атау берілген құрылым мен басқа объектіні (мысалы,
айнымалыны немесе жиымты) жариялауға болады, алайда бұлай жасамаған
жөн – компилятор программаны дұрыс орындағанмен, өзіңіздің қателесуіңіз
əбден мүмкін.
70
Биттік өрістер
Биттік өрістер – бұл құрылым өрістерінің ерекше бір түрі. Олар
мəліметтерді тығыздап жинақтау үшін, мысалы, «иə/жоқ» типіндегі жалауша-
ларды қысқартып жазуда қолданылады. Программадағы ең кіші адрестелетін
жады ұяшығы – 1 байт болғанмен, жалаушаны сақтау үшін бір бит жеткілікті.
Биттік өрісті сипаттау кезінде оның атауынан кейін қос нүкте арқылы өрістің
ұзындығы биттермен (бүтін оң тұрақты) көрсетіледі:
Достарыңызбен бөлісу: |