Danh mục

Bài giảng Lập trình căn bản - Chương 9: Kiểu cấu trúc

Số trang: 20      Loại file: ppt      Dung lượng: 344.50 KB      Lượt xem: 11      Lượt tải: 0    
Hoai.2512

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài giảng Lập trình căn bản - Chương 9 giới thiệu về kiểu cấu trúc trong C. Nội dung chính trong chương này gồm có: Kiểu cấu trúc trong C, các thao tác trên biến kiểu cấu trúc, con trỏ và cấu trúc. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình căn bản - Chương 9: Kiểu cấu trúcLẬP TRÌNH CĂN BẢN Phần 2 - Chương 9 KIỂU CẤU TRÚC N.C. Danh 1Nộidungchươngnày KiểucấutrúctrongC Cácthaotáctrênbiếnkiểucấutrúc Contrỏvàcấutrúc 2KiểucấutrúctrongC Khái niệm Định nghĩa kiểu cấu trúc Khai báo biến cấu trúc 3Khái niệm Kiểucấutrúc(struct)làkiểudữliệubaogồmnhiềuthành phầncókiểukhácnhau,mỗithànhphầnđượcgọilàmột trường(field) Nókhácvớikiểumảng(nơimàcácphầntửcócùngkiểu) Vídụ: 1 struct: 1 mảng: 4Định nghĩa kiểu cấu trúc +Khai báo biến cấu trúc (1) Cách 1:struct{ struct SinhVien{ ; char MSSV[10]; char HoTen[40]; ; struct NgayThang …….. NgaySinh; ; int Phai; char DiaChi[40]; }[biến1,biến2]; };Ví dụ: Khaibáo biến:struct NgayThang{ struct NgayThang NgaySinh; unsigned char Ngay; struct SinhVien SV; unsigned char Thang; unsigned int Nam; structtên_biến;}; 5Định nghĩa kiểu cấu trúc +Khai báo biến cấu trúc (2) Chú ý:  struct không tên: A và B là các struct có 2 thành phần x và y. struct này không có tên, nên ngoài A và B, ta không thể định nghĩa thêm các biến khác được.  Tuy nhiên A và B là các biến có kiểu struct point. Sau này ta có thể khai báo thêm các biến khác có kiểu struct point này. 6Định nghĩa kiểu cấu trúc +Khai báo biến cấu trúc (3) Cách 2: typedefstruct{ typedef struct{ ; char MSSV[10]; char HoTen[40]; ; NgayThang NgaySinh; …….. int Phai; ; char DiaChi[40]; } SinhVien; }; Khai báo biến: Ví dụ: typedef struct{ unsigned char Ngay; NgayThang NgaySinh; unsigned char Thang; SinhVien SV; unsigned int Nam; tên_biến; } NgayThang; 7Cácthaotáctrênbiếnkiểucấutrúc Truyxuấtđếntừngtrườngcủabiếncấutrúc Khởitạocấutrúc 8Truyxuấtđếntừngtrường(field)củabiếncấutrúc(1) Cúpháp:. Vídụ1:Chươngtrìnhchophépđọcdữliệutừbànphímcho biếnmẩutinSinhVienvàinbiếnmẩutinđólênmànhình: 9Truyxuấtđếntừngtrường(field)củabiếncấutrúc(2) 10Truyxuấtđếntừngtrường(field)củabiếncấutrúc(3) Kết quả của 1 lần nhập: 11Truyxuấtđếntừngtrường(field)củabiếncấutrúc(4) Lưuý:  Cácbiếncấutrúccóthểgánchonhau  Vídụ: s=SV;//gánđểlấygiátrịtoànbộcấutrúc  Takhôngthểthựchiệnđượccácthaotácsauđâycho biếncấutrúc:  Sửdụngcáchàmxuấtnhậptrênbiếncấutrúc  Cácphéptoánquanhệ,cácphéptoánsốhọcvàlogic 12Khởitạocấutrúc Biếncấu trúc có thể được khởi tạo giá trị ban đầu lúc khai báo Ví dụ: struct NgayThang NgaySinh ={29, 8, 1986}; 13Contrỏvàcấutrúc Khaibáo Sửdụngcáccontrỏkiểucấutrúc Truycậpcácthànhphầncủacấutrúcđangđược quảnlýbởicontrỏ 14Khaibáo(1) Cú pháp: struct*; Vídụ1: structNgayThang*p; hoặc NgayThang*p; //Nếucódùngtypedef 15Khaibáo(2) Ví dụ 2:  Truy cập đến các trường:  Nếu dùng con trỏ thì: 16Sửdụngcáccontrỏkiểucấutrúc Có 2 cách:  Phải cấp phát bộ nhớ cho nó  Cho nó chỉ vào (chứa địa chỉ) biến đang tồn tại Ví dụ: structNgayThang*p; … p=(struct NgayThang *)malloc(sizeof(struct NgayThang)); p->Ngay=29; p->Thang=8; p->Nam=1986; Hoặc struct NgayThang Ngay = {29 ...

Tài liệu được xem nhiều: