Bài giảng Lập trình căn bản: Chương 9 - Võ Duy Tín
lượt xem 8
download
Nội dung trong chương 9 Kiểu cấu trúc nằm trong bài giảng Lập trình căn bản nhằm trình bày về 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. Định nghĩa kiểu cấu trúc, khai báo biến cấu trúc.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Lập trình căn bản: Chương 9 - Võ Duy Tín
- LẬP TRÌNH CĂN BẢN Phần 2 - Chương 9 KIỂU CẤU TRÚC 1
- Nội dung chương này • 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 2
- Kiểu cấu trúc trong C • Khái niệm • Định nghĩa kiểu cấu trúc • Khai báo biến cấu trúc 3
- Khái niệm • Kiểu cấu trúc (struct) là kiểu dữ liệu bao gồm nhiều thành phần có kiểu khác nhau, mỗi thành phần được gọi là một trường (field) • Nó khác với kiểu mảng (nơi mà các phần tử có cùng kiể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ến 1, biến 2]; }; Ví dụ: ⇒Khaibáo biến: struct NgayThang{ struct NgayThang NgaySinh; unsigned char Ngay; struct SinhVien SV; unsigned char Thang; unsigned int Nam; struct tê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 6 này.
- Định nghĩa kiểu cấu trúc + Khai báo biến cấu trúc (3) • Cách 2: typedef struct { 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; 7
- Các thao tác trên biến kiểu cấu trúc • Truy xuất đến từng trường của biến cấu trúc • Khởi tạo cấu trúc 8
- Truy xuất đến từng trường (field) của biến cấu trúc (1) • Cú pháp: . • Ví dụ 1: Chương trình cho phép đọc dữ liệu từ bàn phím cho biến mẩu tin SinhVien và in biến mẩu tin đó lên màn hình: 9
- Truy xuất đến từng trường (field) của biến cấu trúc (2) 10
- Truy xuất đến từng trường (field) của biến cấu trúc (3) • Kết quả của 1 lần nhập: 11
- Truy xuất đến từng trường (field) của biến cấu trúc (4) • Lưu ý: – Các biến cấu trúc có thể gán cho nhau • Ví dụ: s=SV; // gán để lấy giá trị toàn bộ cấu trúc – Ta không thể thực hiện được các thao tác sau đây cho biến cấu trúc: • Sử dụng các hàm xuất nhập trên biến cấu trúc • Các phép toán quan hệ, các phép toán số học và logic 12
- Khởi tạo cấu trúc • Biến cấ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}; 13
- Con trỏ và cấu trúc • Khai báo • Sử dụng các con trỏ kiểu cấu trúc • Truy cập các thành phần của cấu trúc đang được quản lý bởi con trỏ 14
- Khai báo (1) • Cú pháp: struct * ; • Ví dụ 1: struct NgayThang *p; hoặc NgayThang *p; // Nếu có dùng typedef 15
- Khai báo (2) • Ví dụ 2: – Truy cập đến các trường: – Nếu dùng con trỏ thì: 16
- Sử dụng các con trỏ kiểu cấu trú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ụ: struct NgayThang *p; … p=(struct NgayThang *)malloc(sizeof(struct NgayThang)); p->Ngay=29; p->Thang=8; p->Nam=1986; Hoặc struct NgayThang Ngay = {29,8,1986}; p = &Ngay; 17
- Truy cập các thành phần của cấu trúc đang được quản lý bởi con trỏ (1) • Với khai báo sau: struct NgayThang *p; • Ta có thể truy cập đến các trường của nó như sau: p->Ngay p->Thang hoặc (*p).Ngay (*p).Thang 18
- Truy cập các thành phần của cấu trúc đang được quản lý bởi con trỏ (3) • Ví dụ 19
- Hết chương 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Lập trình căn bản: Tuần 16 - Bài toán tìm kiếm, sắp xếp
23 p | 230 | 24
-
Bài giảng Lập trình căn bản: Chương 1 - Võ Duy Tín
13 p | 144 | 18
-
Bài giảng Lập trình căn bản: Chương 4 - Võ Duy Tín
31 p | 109 | 15
-
Bài giảng Lập trình căn bản: Chương 2 - Võ Duy Tín
52 p | 115 | 15
-
Bài giảng Lập trình căn bản: Chương 3 - ThS. Nguyễn Cao Trí
13 p | 125 | 14
-
Bài giảng Lập trình căn bản: Giới thiệu tổng quan
5 p | 112 | 13
-
Bài giảng Lập trình căn bản: Chương 3 - Võ Duy Tín
20 p | 110 | 12
-
Bài giảng Lập trình căn bản: Chương 1 - ThS. Nguyễn Cao Trí
20 p | 148 | 12
-
Bài giảng Lập trình căn bản: Chương 6 - Võ Duy Tín
21 p | 133 | 10
-
Bài giảng Lập trình căn bản: Chương 5 - Võ Duy Tín
19 p | 103 | 10
-
Bài giảng Lập trình căn bản: Phần 1 - Võ Duy Tín
26 p | 113 | 10
-
Bài giảng Lập trình căn bản - Chương 9: Kiểu cấu trúc
20 p | 84 | 9
-
Bài giảng Lập trình căn bản: Chương 2 - ThS. Nguyễn Cao Trí
13 p | 106 | 9
-
Bài giảng Lập trình căn bản: Chương 4 - ThS. Nguyễn Cao Trí
21 p | 102 | 8
-
Bài giảng Lập trình căn bản: Chương 7 - Võ Duy Tín
27 p | 102 | 8
-
Bài giảng Lập trình căn bản: Chương 8 - Võ Duy Tín
28 p | 101 | 7
-
Bài giảng Lập trình căn bản: Chương 5 - ThS. Nguyễn Cao Trí
11 p | 98 | 6
-
Bài giảng Lập trình căn bản - Trường CĐ Công nghệ và Nông Lâm Nam Bộ
219 p | 21 | 5
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn