Ақпараттық технологияның қарқынды дамуна байланысты соңғы кездері программалауға деген қызығушылықтың арта түскені белгілі. Дк қолданудың ең негізгі облыстарының бірі бағдарламалау болып табылады



бет20/71
Дата04.10.2022
өлшемі1.36 Mb.
#461923
түріПрограмма
1   ...   16   17   18   19   20   21   22   23   ...   71
С тілінде программалау УМКД

Құрылымдарды сипаттау


Мәліметтердің құрылымдық типтері келесі сипаттаумен анықталады: struct құрылым_аты


{ элементтерді сипаттау; };
Құрылымның атауын, яғни тәгті жазу міндетті емес. Егер құрылым атаусыз болса, онда оны сипаттау кезінде осы типке кіретін бірнеше айнымалылардың аты бірден көрсетіледі:
// Құрылымдар жиымын және құрылымға нұсқауышты анықтау
struct {
char name[64]; // фамилиясы int age; // жасы
float salary; // жалақысы
unsigned employee_number; // қызметкердің реттік нөмірі
} staff[50], *ps; /* бұл құрылымды жариялаудан кейінгі айнымалыларды анықтау */
Құрылымдар типіндегі айнымалыларды сипаттау екі жолмен жүзеге асырылады. Алғашқы тәсіл:
struct Shape { /* фигуралар */
int type; // 0 - шеңбер, 1 - квадрат, 2 - үшбұрыш int color; // түсі
float radius; // радиусы float area; // ауданы
float perimeter; // периметрі
};
Shape new_shape, old_shape;

Екінші тәсіл:


struct Shape { /* құрылым аты – фигуралар */ int type; // 0 - шеңбер, 1 - квадрат, 2 - үшбұрыш int color; // түсі


float radius; // радиусы float area; // ауданы
float perimeter; // периметрі
} new_shape, old_shape;
немесе мынадай түрде де беруге болады: struct gr /* құрылым аты – топ */
{char fio[30]; /* құрылым элементі – аты-жөні */
char fak[25]; /* құрылым элементі */
int nomer; /* құрылым элементі */
}
gruppa1; /* құрылымдық айнымалы аты */
struct gr gruppa2; /* құрылымдық айнымалыны хабарлау */

Құрылымға компьютер жадынан орын бөлу үшін құрылымдық айнымалыны сипаттау керек:


struct құрылым_аты айнымалы_аты;
Мұндайда құрылым жарияланған соң оның атын бірден пайдалануға болады (анықтауды кейінірек беруге болады), бірақ мұндай тәсіл компиляторға құрылым мөлшерін білу қажет етілмейтін кездерде қолданылады:

struct First; struct Second { First *p;


Second *prev, *suc;
}; struct First { /* First құрылымын анықтау */ };

Бұл құрылымның байланысқан тізімдерін құру мүмкіндігін береді.


Құрылымды инициалдаудың (құрылым өрістеріне мән берудің) бір жолы – оның элементтерін сипатталу реттілігімен жүйелі жақша ішінде біртіндеп беру болып табылады:

struct Employee {


char name[64]; // фамилиясы int age; // жасы
float salary; // жалақысы
unsigned employee_number; // реттік нөмірі
} new_employee = {"Kadуrov",32, 300.5, 1122};

Құрылымдағы жиымдарды инициалдау кезінде олардың элементтерін жүйелі жақшалар арқылы бөліп, құрылым өрістеріне мән беруге болады, мысалы:


struct complex{ unsigned code; float salary;


} comp [2][3]={ {{1021, 301}, {1031, 289}, {1041, 250}},
{{1121, 300}, {1131, 222}, {1141, 220}}
};

немесе төмендегідей түрде де инициалдау мүмкіндіктері бар:


struct date { int day, month, year; };


d[5]={ {1,3,1980},
{5,1,1990},
{1,1,2002} };

Құрылымдарды анықтау барысында олардың элементтеріне бастапқы мәндерді пернелерден енгізіп те меншіктеуге болады. Құрылым элементтерінің мәндерін енгізу үшін ағымдық енгізу операторы cin >> (С++ стилінде) немесе форматпен енгізу операторы – scanf қолданылады.


Егер құрылымды сипаттау жолы программадағы барлық функциялардың алдында орналасса, онда ол құрылымды осы программадағы барлық функциялар пайдалана алады.




  1. Достарыңызбен бөлісу:
1   ...   16   17   18   19   20   21   22   23   ...   71




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет