Kiểu dữ liệu cấu trúc ( struct struct ) là kiểu dữ liệu ) là kiểu dữ liệu phức hợp bao gồm nhiều thành phần, mỗi phức hợp bao gồm nhiều thành phần, mỗi. thành phần có thể thuộc những [r]
Trang 1TIN HỌC ĐẠI CƯƠNG
PHẦN 2: LẬP TRÌNH BẰNG NGÔN NGỮ C
BÀI 7: CẤU TRÚC (struct)
KHOA
C¤NG NGHÖ
INFORMATION TECHNOLOGY
Trang 2Bài 7: Cấu trúc (struct)
7.1 Khái niệm cấu trúc
7.2 Khai báo và sử dụng cấu trúc
7.3 Xử lí dữ liệu cấu trúc
7.4 Mảng cấu trúc
7.5 Bài tập
Trang 3Bài 7: Cấu trúc (struct)
7.1 Khái niệm cấu trúc
7.2 Khai báo và sử dụng cấu trúc
7.3 Xử lí dữ liệu cấu trúc
7.4 Mảng cấu trúc
7.5 Bài tập
Trang 47.1 Khái niệm cấu trúc
Trong C, structure (gọi tắt là struct) ~ kiểu dữ
liệu bản ghi (record) trong Pascal
Kiểu dữ liệu cấu trúc (struct) là kiểu dữ liệu
phức hợp bao gồm nhiều thành phần, mỗi
thành phần có thể thuộc những kiểu dữ liệu
khác nhau
Các thành phần dữ liệu trong cấu trúc được
gọi là các trường dữ liệu (field)
Trang 57.1 Khái niệm cấu trúc (tiếp)
“Mô tả” đối tượng có nhiều phần thông tin, ví
dụ quản lý hồ sơ cán bộ, sinh viên…
Ví dụ: Cấu trúc mô tả sinh viên:
Cần lưu giữ các thông tin liên quan đến sinh
viên như họ tên, tuổi, kết quả học tập…
Mỗi thông tin thành phần lại có kiểu dữ liệu
khác nhau
Họ tên có kiểu dữ liệu là xâu kí tự
Tuổi có kiểu dữ liệu là số nguyên
Kết quả học tập có kiểu dữ liệu là số thực.
Trang 6Bài 7: Cấu trúc (struct)
7.1 Khái niệm cấu trúc
7.2 Khai báo và sử dụng cấu trúc
7.3 Xử lí dữ liệu cấu trúc
7.4 Mảng cấu trúc
7.5 Bài tập
Trang 77.2.1 Khai báo kiểu dữ liệu cấu trúc
Cú pháp:
struct ten_cau_truc
{
<khai_bao_cac_truong_du_lieu>;
};
Ví dụ:
struct Sinh_Vien
{
char ma_so_sinh_vien[10];
char ho_va_ten[30];
float diem_TinDC;
};
Trang 87.2.2 Khai báo biến cấu trúc
Cú pháp:
ten_cau_truc ten_bien_cau_truc;
Hoặc:
struct ten_cau_truc ten_bien_cau_truc;
Ví dụ:
Sinh_Vien a, b, c;
Hoặc:
struct Sinh_Vien a, b, c;
Trang 97.2.3 Khai báo kết hợp
Có thể kết hợp vừa khai báo kiểu dữ liệu cấu
trúc vừa khai báo biến cấu trúc:
struct [ten_cau_truc]
{
//khai_bao_cac_truong;
} ten_bien_cau_truc;
Ví d : ụ
struct Thi_Sinh
{
char SBD[10]; // so bao danh char ho_va_ten[30];
float ket_qua;
} ts1, ts2;
Trang 10Struct lồng nhau
Struct có thể lồng nhau Ví dụ:
struct Dia_Chi{//địa chỉ
int so_nha;
char ten_pho[20];
char thanh_pho[20];
};
struct Nhan_Su{ //nhân sự
char ho_ten[20];
Dia_Chi address; //trường address có kiểu địa chỉ float he_so_luong;
};