Lp trình nâng cao -Chương 06 -Ngô Công Thng 1
Chương 6. Kiu cu trúc kiu lit
I.Kiucutrúc(struct)
II.Kiulitkê(enum)
Lp trình nâng cao -Chương 06 -Ngô Công Thng 2
I. Kiu cu trúc
1.Kháinimvkiucutrúc
2.Khaiokiucutrúc
3.Khaibáobiếncutrúc
4.Truynhpcthànhphncacutrúc
5.Khitobiếncutrúc
6.Ppgánbiếncutrúc
7.Mngcutrúc
Lp trình nâng cao -Chương 06 -Ngô Công Thng 3
1. Khái nim v kiu cu trúc
NgoàicáckiudliucósntrongC,người
lptrìnhcòncóthtoranhngkiudliu
cariêngnh:Kiucutrúcvàkiulitkê.
Mtcutrúclàmtnhómcácphntcóth
cókiudliukhácnhau.Cácphntnày
gilàcácthànhphncacutrúc.Kiucu
trúctrongCtương đươngvikiubnghi
trongPascal.
Lp trình nâng cao -Chương 06 -Ngô Công Thng 4
2. Khai báo kiu cu trúc
Khaibáocutrúclàmôtvcácthànhphn
cacutrúc.Cúphápnhưsau:
structTên_kiu_cutrúc
{
Kiu_1n_thành_phn_1;
Kiu_2n_thành_phn_2;
....
};
T khoá
Các thành phn
ca cu trúc
Du chm phy kết thúc
khai báo kiu cu trúc
Lp trình nâng cao -Chương 06 -Ngô Công Thng 5
2. Khai báo kiu cu tc (tiếp)
Víd:Để lưutrthôngtinvnhânscaphòngt
chcvicácthôngtinvhtên,ngàysinh, địach,
lươngtakhaibáomtkiucutrúcnhưsau:
structnhansu
{
charhoten[30];
charngaysinh[10];
chardiachi[40];
floatluong;
};
Lp trình nâng cao -Chương 06 -Ngô Công Thng 6
2. Khai báo kiu cu tc (tiếp)
Saukhikhaibáokiucutrúctacóthngtên
kiucutrúcnhưtêncáckiudliucơbn.
Kiucacácthànhphncacutrúccóthlàkiu
cutrúc,tclàtrongcutrúccóthchacutrúc
khác.Víd:
structngaythang
{
intngay,thang,nam;
};
structnhansu
{
charhoten[30];
structngaythangngaysinh;
chardiachi[40];
floatluong;
};
Lp trình nâng cao -Chương 06 -Ngô Công Thng 7
3. Khai báo biến cu trúc
Vickhaibáokiucutrúckngtora
vùngnhchacutcmàchmôtvcu
trúcxemcónhnggì.
Muncóvùngnhchacutrúctaphikhai
obiếncutrúc.Cúpháp:
structTên_kiu_cu_trúcTên_biến_cutrúc;
Víd:
structnhansung1,ng2;
Lp trình nâng cao -Chương 06 -Ngô Công Thng 8
4. Truy nhp các thành phn cu trúc
Để truynhpcácthànhphncacutrúctadùng
toántchm.Cúpháp:
Tên_biến_cu_trúc.Tên_thành_phn
Víd:
structthisinh
{
charSBD[15];
floattoan,ly,hoa;
};
//Khaibaobiencautruc
structthisinhts;
//Nhapdulieuchothisinh
printf("Sobaodanh:);scanf(%s,&ts.SBD);
printf(DiemToan:);scanf(%f,&ts.toan);
printf(DiemLy:);scanf(%f,&ts.ly);
printf(DiemHoa:);scanf(%f,&ts.hoa);
Lp trình nâng cao -Chương 06 -Ngô Công Thng 9
5. Khi to biến cu trúc
Khikhaibáobiếncutrúctacóthkhitogiátrchocác
thànhphncacutrúcnhưkhitochocácphntca
mng.
Víd:
//Khaibaokieucautruc
structthisinh
{
charSBD[15];
floattoan,ly,hoa;
};
//Khaibaovakhoitaobiencautruc
structthisinhts={"NNHA23456",7,8,9};
Lp trình nâng cao -Chương 06 -Ngô Công Thng 10
6. Phép gán biến cu trúc
Tacóthgánmtbiếncutrúcchomtbiếncu
trúccùngkiu.Víd:
//Khaibaokieucautruc
structthisinh
{
charSBD[15];
floattoan,ly,hoa;
};
//Khaibaobiencautruc
structthisinhts1={"NNHA23456",7,8,9};
structthisinhts2;
ts2=ts1;