Thông tin tài liệu:
Bài giảng "Kỹ thuât lập trình - Chương 5: Kiểu dữ liệu cấu trúc" cung cấp cho người học các kiến thức: Khai báo, khởi tạo; truy nhập các thành phần, hàm với cấu trúc, câu lệnh typedef, hàm sizeof. Mời các bạn cùng tham khảo nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng Kỹ thuật lập trình: Chương 5 - Nguyễn Văn HuyLOGO Chương V Kiểu dữ liệu cấu trúc www.themegallery.com Nội dung chính5.1 Khai báo, khởi tạo5.2 Truy nhập các thành phần5.3 Hàm với cấu trúc5.4 Câu lệnh typedef5.5 Hàm sizeof() Trường ĐH GTVT TP.HCM - Bài giảng : Kỹ thuật lập trình COMPANY LOGO 2 www.themegallery.com5.1 Khai báo, khởi tạoKhai báo cấu trúc: struct { các thành phần ; } ; Mỗi thành phần giống như một biến riêng của kiểu, nó gồm kiểu và tên thành phần. Phần tên của kiểu cấu trúc và phần danh sách biến có thể có hoặc không. Các kiểu cấu trúc được phép khai báo lồng nhau. Một biến có kiểu cấu trúc sẽ được phân bố bộ nhớ sao cho các thực hiện của nó được sắp liên tục theo thứ tự xuất hiện trong khai báo. Trường ĐH GTVT TP.HCM - Bài giảng : Kỹ thuật lập trình COMPANY LOGO 3 www.themegallery.com5.1 Khai báo, khởi tạo - Khai báo biến kiểu cấu trúc cũng giống như khai báocác biến kiểu cơ sở dưới dạng: struct ;Hoặc: ; - Các biến được khai báo cũng có thể đi kèm khởi tạo: biến = { giá trị khởi tạo } ; Trường ĐH GTVT TP.HCM - Bài giảng : Kỹ thuật lập trình COMPANY LOGO 4 www.themegallery.comVí dụ 1: Khai báo kiểu cấu trúc chứa phân số gồm 2 thành phầnnguyên chứa tử số và mẫu số. struct Phanso { int tu ; int mau ; };hoặc: struct Phanso { int tu, mau ; }; Trường ĐH GTVT TP.HCM - Bài giảng : Kỹ thuật lập trình COMPANY LOGO 5 www.themegallery.comVí dụ 2: Kiểu ngày tháng gồm 3 thành phần nguyên chứa ngày,tháng, năm. struct Ngaythang { int ng ; int th ; int nam ; } holiday = { 1,5,2000 } ; Một biến holiday cũng được khai báo kèm cùng kiểu nàyvà được khởi tạo bởi bộ số 1. 5. 2000. Các giá trị khởi tạo này lầnlượt gán cho các thành phần theo đúng thứ tự trong khai báo, tứcng = 1, th = 5 và nam = 2000. Trường ĐH GTVT TP.HCM - Bài giảng : Kỹ thuật lập trình COMPANY LOGO 6 www.themegallery.comVí dụ 3: Kiểu Lop dùng chứa thông tin về một lớp học gồm tên lớpvà sĩ số sinh viên. Các biến kiểu Lop được khai báo là daihoc vàcaodang, trong đó daihoc được khởi tạo bởi bộ giá trị {“CN14A,60} với ý nghĩa tên lớp đại học là CN14A và sĩ số là 60 sinh viên. struct Lop { char tenlop[10], int soluong; }; struct Lop daihoc = { CN14A , 60}, caodang ;hoặc: Lop daihoc = { CN14A , 60}, caodang ; Trường ĐH GTVT TP.HCM - Bài giảng : Kỹ thuật lập trình COMPANY LOGO 7 www.themegallery.com5.2 Truy nhập các thành phần Đối với biến thường: Tên biến.Tên thành phần Đối với biến con trỏ : Tên biến -> Tên thành phần Đối với biến mảng: Truy nhập thành phần mảng rồi đến thành phần cấu trúc. Đối với cấu trúc lồng nhau. Truy nhập thành phần ngoài rồi đến thành phần của cấu trúc bên trong, sử dụng các phép toán . hoặc -> (các phép toán lấy thành phần) một cách thích hợp. Trường ĐH GTVT TP.HCM - Bài giảng : Kỹ thuật lập trình COMPANY LOGO 8 www.themegallery.comVí dụ#include#includeusing namespace std;int main(){ struct sinhvien //Khai báo cấu trúc sinhvien { char ten[33]; int tuoi; char que_quan[33]; }*p; sinhvien a={Ly Minh Tai, 22, Hai Duong}; cout www.themegallery.com5.3 Hàm với cấu trúcA. Con trỏ và địa chỉ cấu trúc Một con trỏ cấu trúc cũng giống như con trỏ trỏ đến các kiểu dữ liệu khác, có nghĩa nó chứa địa chỉ của một biến cấu trúc hoặc một vùng nhớ có kiểu cấu trúc nào đóB. Địa chỉ của các thành phần của cấu trúc Các thành phần của một cấu trúc cũng giống như các biến, do vậy cách lấy địa chỉ của các thành phần này cũng tương tự như đối với biến bình thường. Trường ĐH GTVT TP.HCM - ...