Nội dung: Khái niệm kiểu cấu trúc (struct), Khai báo & truy xuất kiểu cấu trúc, Kiểu dữ liệu hợp nhất (union), Bài tập. | NHẬP MÔN LẬP TRÌNH CẤU TRÚC Nội dung NMLT - Cấu trúc Khái niệm kiểu cấu trúc (struct) 1 Khai báo & truy xuất kiểu cấu trúc 2 Kiểu dữ liệu hợp nhất (union) 3 Bài tập 4 Đặt vấn đề Thông tin 1 SV MSSV : kiểu chuỗi Tên SV : kiểu chuỗi NTNS : kiểu chuỗi Phái : ký tự Điểm Toán, Lý, Hóa : số thực Yêu cầu Lưu thông tin n SV? Tuyền thông tin n SV vào hàm? NMLT - Cấu trúc Đặt vấn đề Khai báo các biến để lưu trữ 1 SV char mssv[7]; // “0012078” char hoten[30]; // “Nguyen Van A” char ntns[8]; // “29/12/82” char phai; // ‘y’ Nam, ‘n’ Nữ float toan, ly, hoa; // Truyền thông tin 1 SV cho hàm void xuat(char mssv[], char hoten[], char ntns[], char phai, float toan, float ly, float hoa); NMLT - Cấu trúc Đặt vấn đề Nhận xét Đặt tên biến khó khăn và khó quản lý Truyền tham số cho hàm quá nhiều Tìm kiếm, sắp xếp, sao chép, khó khăn Tốn nhiều bộ nhớ Ý tưởng Gom những thông tin của cùng 1 SV thành một kiểu dữ liệu mới => Kiểu struct NMLT - Cấu trúc Khai báo kiểu cấu trúc Cú pháp Ví dụ NMLT - Cấu trúc struct { ; ; }; struct DIEM { int x; int y; }; Khai báo biến cấu trúc Cú pháp tường minh Ví dụ NMLT - Cấu trúc struct { ; ; } , ; struct DIEM { int x; int y; } diem1, diem2; Khai báo biến cấu trúc Cú pháp không tường minh Ví dụ NMLT - Cấu trúc struct { ; ; }; struct ; struct DIEM { int x; int y; }; struct DIEM diem1, diem2;// C++ có thể bỏ struct Sử dụng typedef Cú pháp Ví dụ NMLT - Cấu trúc typedef struct { ; ; } ; ; Khởi tạo cho biến cấu trúc Cú pháp tường minh Ví dụ NMLT - Cấu trúc struct { . | NHẬP MÔN LẬP TRÌNH CẤU TRÚC Nội dung NMLT - Cấu trúc Khái niệm kiểu cấu trúc (struct) 1 Khai báo & truy xuất kiểu cấu trúc 2 Kiểu dữ liệu hợp nhất (union) 3 Bài tập 4 Đặt vấn đề Thông tin 1 SV MSSV : kiểu chuỗi Tên SV : kiểu chuỗi NTNS : kiểu chuỗi Phái : ký tự Điểm Toán, Lý, Hóa : số thực Yêu cầu Lưu thông tin n SV? Tuyền thông tin n SV vào hàm? NMLT - Cấu trúc Đặt vấn đề Khai báo các biến để lưu trữ 1 SV char mssv[7]; // “0012078” char hoten[30]; // “Nguyen Van A” char ntns[8]; // “29/12/82” char phai; // ‘y’ Nam, ‘n’ Nữ float toan, ly, hoa; // Truyền thông tin 1 SV cho hàm void xuat(char mssv[], char hoten[], char ntns[], char phai, float toan, float ly, float hoa); NMLT - Cấu trúc Đặt vấn đề Nhận xét Đặt tên biến khó khăn và khó quản lý Truyền tham số cho hàm quá nhiều Tìm kiếm, sắp xếp, sao chép, khó khăn Tốn nhiều bộ nhớ Ý tưởng Gom những thông tin của cùng 1 SV thành một kiểu dữ liệu mới => Kiểu struct NMLT - Cấu trúc Khai báo kiểu cấu trúc .