
CHƯƠNG 8CHƯƠNG 8
STRUCTURES STRUCTURES
ENUM ENUM
STRUCTURES STRUCTURES
––
ENUM ENUM
--
typedeftypedef
typedeftypedef

1.1.
GiớiGiới
thiệuthiệu
1.
1.
GiớiGiới
thiệuthiệu
Có 5 cách đ
ể
t
ạ
okiểudữli
ệ
utù
y
biến
ạ
ệ
y
(
custom data types
).
1.
S
tructure
1.
S
tructure
2.bit-field
3
Union
3
.
Union
4.Enumeration
5.typedef

2.2.
StructStruct
((
cấucấu
trúctrúc
))
2.
2.
StructStruct
((
cấucấu
trúctrúc
))
yM
ộ
tcấutrúclàm
ộ
tt
ập
các biếnđư
ợ
c
ộ
ộ
ập
ợ
tham chiếuthôngquamột tên chung.
Nhữn
g
biếnt
ạ
onêncấutrúcđư
ợ
c
gọ
ilà
g
ạ
ợ
gọ
các thành viên (
members
).
y
Sự
khác
biệt
giữa
kiểu
cấu
trúc
và
kiểu
Sự
khác
biệt
giữa
kiểu
cấu
trúc
và
kiểu
mảng là: các phầntửcủamảng là cùng
kiểu
còn
các
phần
tử
của
kiểu
cấu
trúc
kiểu
còn
các
phần
tử
của
kiểu
cấu
trúc
có thểcó kiểu khác nhau.

2.1.2.1.
KhaiKhai
báobáo
StructStruct
2.1.
2.1.
KhaiKhai
báobáo
StructStruct
Struct
tructureName
y
structureNam
e
:
T
ên
Struct
tructureName
{
type member1;
củacấutrúc
y
type
: Kiểudữliệucủa
thà h
iê
t
ứ
type member1;
type member2;
thà
n
h
viê
n
t
ươn
g
ứ
n
g
y
Member1,...,
memberN
:
Tên
các
bi
ế
n
...
type memberN;
memberN
:
Tên
các
bi
ế
n
thành viên củacấutrúc
y
va
rN
a
m
es
:
Tê
n
các
b
i
ế
n
.. .
}
varNames
;
aaes
ê
các
b
ế
cấu trúc phân cách nhau
bằng dấuphẩy.
}
varNames
;

VíVí
dụdụ
::
VíVí
dụdụ
::
yTạomộtstructsinhviêngồmcácthôngtin:
mã sốsinh viên, họtên, năm sinh, địachỉ.
struct sinhvien
{
char *MaSv;
char *TenSv;
int Namsinh;
char *Diachi;
};
yKhai báo biếnkiểu sinhvien: sinhvien sv1, sv2;

