Chương 8 cung cấp cho người học những kiến thứ cơ bản về struct và enum. Nội dung trình bày trong chương này gồm: Khái niệm, khai báo struct, truy xuất thành phần của struct, gán cấu trúc, mảng cấu trúc, truyền cấu trúc vào hàm, con trỏ cấu trúc, typedef. | Chương 8: structures 3/19/2011 1 1 Agenda Struct Khái niệm Khai báo struct Truy xuất thành phần của struct Gán cấu trúc Mảng cấu trúc Truyền cấu trúc vào hàm Con trỏ cấu trúc typedef Enum 3/19/2011 2 1. Struct Khái niệm: Một struct (1 cấu trúc) là 1 tập hợp các biến, các mảng và được biểu thị bằng 1 tên duy nhất. Ví dụ: Tập hợp thông tin về 1 sinh viên bao gồm: Tên sinh viên, Năm sinh Địa chỉ thường trú 3/19/2011 3 Khai báo cấu trúc Có 2 kiểu khai báo cấu trúc: Kiểu 1: structureName: Tên struct datatype: kiểu dữ liệu của biến thành phần member_1, member_2, , member_n: tên của biến thành phần 3/19/2011 4 struct structureName { datatype member_1; datatype member_2; . datatype member_n; }; Struct members Khai báo cấu trúc Khai báo cấu trúc: Kiểu 1: Ví dụ 1: Khai báo 1 struct ngày 3/19/2011 5 struct ngay { int ngay_thu; char thang[10]; int nam; } ; Khai báo cấu trúc Khai báo cấu trúc: Kiểu 1: Khai báo biến cấu trúc: Sau khi khai báo cấu trúc, ta có 1 kiểu dữ liệu mới (new data type). Muốn có 1 biến có kiểu struct vừa được khai báo, ta phải khai báo biến cấu trúc. Biến cấu trúc được khai báo giống tất cả những loại biến khác. Ví dụ: struct ngay ngaysinh; 3/19/2011 6 struct structName variableNames; Khai báo cấu trúc Khai báo cấu trúc: Lưu ý: Thành phần bên trong 1 struct có thể là 1 biến có kiểu dữ liệu cơ sở (vd: int, float,), 1 mảng, hay có thể là 1 biến kiểu struct. 3/19/2011 7 Khai báo cấu trúc Khai báo cấu trúc: Kiểu 1: Ví dụ 2: Khai báo struct sinh viên gồm những thành phần sau: Mã sinh viên (10 ký tự) Họ tên (50 ký tự) Ngày sinh (kiểu cấu trúc “ngày”) Quê quán (20 ký tự). Ví dụ 3: Khai báo struct nhân viên gồm những thành phần sau: Họ tên (50 ký tự) Ngày sinh (kiểu cấu trúc “ngày”) Địa chỉ (50 ký tự) Bậc lương (kiểu số thực) Ngày vào công ty (kiểu cấu trúc “ngày”) 3/19/2011 8 Khai báo cấu trúc Khai báo cấu trúc: Kiểu 1: Ví dụ 2: Khai báo struct sinhvien Khai báo biến cấu trúc có kiểu sinhvien 3/19/2011 9 struct sinhvien { char . | Chương 8: structures 3/19/2011 1 1 Agenda Struct Khái niệm Khai báo struct Truy xuất thành phần của struct Gán cấu trúc Mảng cấu trúc Truyền cấu trúc vào hàm Con trỏ cấu trúc typedef Enum 3/19/2011 2 1. Struct Khái niệm: Một struct (1 cấu trúc) là 1 tập hợp các biến, các mảng và được biểu thị bằng 1 tên duy nhất. Ví dụ: Tập hợp thông tin về 1 sinh viên bao gồm: Tên sinh viên, Năm sinh Địa chỉ thường trú 3/19/2011 3 Khai báo cấu trúc Có 2 kiểu khai báo cấu trúc: Kiểu 1: structureName: Tên struct datatype: kiểu dữ liệu của biến thành phần member_1, member_2, , member_n: tên của biến thành phần 3/19/2011 4 struct structureName { datatype member_1; datatype member_2; . datatype member_n; }; Struct members Khai báo cấu trúc Khai báo cấu trúc: Kiểu 1: Ví dụ 1: Khai báo 1 struct ngày 3/19/2011 5 struct ngay { int ngay_thu; char thang[10]; int nam; } ; Khai báo cấu trúc Khai báo cấu trúc: Kiểu 1: Khai báo biến cấu trúc: Sau khi khai báo cấu trúc, ta có 1 kiểu dữ liệu mới .