Khoa Công nghệ thông tinBộ môn Tin học cơ sở... char *ntns, char phai, float toan, float ly, float hoa;... BB Khai báo biến cấu trúc... BB Truy xuất dữ liệu kiểu cấu trúc... BB Các lưu ý
Trang 1Khoa Công nghệ thông tin
Bộ môn Tin học cơ sở
Trang 3 Truyền thông tin n SV vào hàm?
Trang 4char *ntns, char phai, float toan, float ly, float hoa);
Trang 5BB Đặt vấn đề
…
Trang 7<kiểu dữ liệu> <tên thành phần n>;
} <tên biến 1>, <tên biến 2>;
Trang 8BB Khai báo biến cấu trúc
Trang 9<kiểu dữ liệu> <tên thành phần n>;
} <tên kiểu cấu trúc>;
<tên kiểu cấu trúc> <tên biến>;
Trang 10<kiểu dữ liệu> <tên thành phần n>;
} <tên biến> = {<giá trị 1>,…,<giá trị n>};
Trang 11BB Truy xuất dữ liệu kiểu cấu trúc
Trang 12BB Gán dữ liệu kiểu cấu trúc
<biến cấu trúc đích> = <biến cấu trúc nguồn>;
<biến cấu trúc đích>.<tên thành phần> = <giá trị>;
Trang 13struct DIEM traitren;
struct DIEM phaiduoi;
} hcn1;
…
hcn1.traitren.x = 2912;
hcn1.traitren.y = 1706;
Trang 20BB Các lưu ý về cấu trúc
dụng khuôn dạng đã định nghĩa
Trong C++ , có thể bỏ từ khóa struct khi khai
Khi nhập các biến kiểu số thực trong cấu trúc phải nhập thông qua một biến trung gian.
struct DIEM { float x, y;} d1;
float temp; scanf(“%f”, &temp ); d1.x = temp ;
Trang 21BB Mảng cấu trúc
(char, int, float, …)
Trang 22BB Truyền cấu trúc cho hàm
• Tham trị (không thay đổi sau khi kết thúc hàm)
• Tham chiếu
• Con trỏ
struct DIEM { int x, y; };
void xuat1(int x, int y) { … };
void xuat2(DIEM diem) { … };
void xuat3(DIEM &diem) { … };
void xuat4(DIEM *diem) { … };
Trang 23BB Hợp nhất – union
Các thành phần của union có chung địa chỉ
đầu (nằm chồng lên nhau trong bộ nhớ)
Trang 24… …
0 1 2 3 … … …
Trang 30BB Bài tập
Trang 31BB Bài tập
Trang 33BB Bài tập
khác trong mảng