
CHƯƠNG 7
C U TRÚCẤ
C u trúc là t p h p c a m t ho c nhi u ấ ậ ợ ủ ộ ặ ề
bi n, có th khác ki u nhau, ế ể ể đưc nhóm l i dợ ạ ư i ớ
d ng m t tên duy nh t cho ti n x lý. (Gi ng c u ạ ộ ấ ệ ử ố ấ
trúc Record trong Pascal).
C u trúc giúp cho vi c t ch c các d li u ấ ệ ổ ứ ữ ệ
ph c t p, ứ ạ đc bi t trong nh ng chặ ệ ữ ương trình l n vì ớ
trong nhi u tình hu ng chúng cho phpé nhóm các ề ố
bi n có liên quan l i ế ạ đ x lý nhể ử ư m t ộđơn v thay ị
vì như các th c th tách bi t.ự ể ệ

I. Đnh nghĩa c u trúc và khai báo bi n c u trúcị ấ ế ấ
1. Đnh nghĩa c u trúcị ấ
struct <Tên_ki u_c u_trúc> {ể ấ
<Ki u> <Tên trể ư ng 1>;ờ
<Ki u> <Tên trể ư ng 2>;ờ
...
}
Trong đó: struct: Là t khoáừ
Tên_ki u_c u_trúc: là tên b t k , do ngể ấ ấ ỳ ư i s ờ ử
d ng ụđtặ

Ví d :ụ
struct Date {
int day;
int month;
int year;
};
2. Đnh nghĩa c u trúc b ng typedefị ấ ằ
N u m t c u trúc ế ộ ấ đưc ợđnh nghĩa v i ị ớ
tên_ki u_c u_trúc thì ta có th cùng typedef ể ấ ể đê
đnh nghĩa nhị ư sau:
Typedef struct < tên_ki u_c u_trúc> ể ấ
<Tên_ki u>;ể

Ví d :ụ
typedef struct Date DATE;
N u m t c u trúc chế ộ ấ ưa đnh nghĩa, thì ta có th ị ể
dùng typedef đ ểđnh nghĩa:ị
Typedef struct [Tên_ki u_c u_trúc] {ể ấ
<Ki u> <Trể ư ng 1>;ờ
<Ki u> <Trể ư ng 2>;ờ
...
} <tên_ki u>;ể
Ví d :ụ
V i ví d trên ta có th dùng typedef ớ ụ ể đ ểđnh nghĩa ị
l i nhạ ư sau:

typedef struct {
int day;
int month;
int year;
} DATE;
3. Khai báo bi n c u trúcế ấ
Khai báo k t h p:ế ợ
struct <Tên_ki u_c u_trúc> {ể ấ
<Ki u> <Trể ương1>;
<Ki u> <Trể ương2>;
...
} <Danh_sách_các_bi n>;ế

