Bài giảng Kỹ thuật lập trình: Chương 6 - Kiểu cấu trúc, Kiểu mảng chuỗi, được biên soạn gồm các nội dung chính sau: Từ khoá typedef; Cấu trúc; Mảng; Chuỗi ký tự. 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 Kỹ thuật lập trình: Chương 6 - Trần Quang Chương 06 Kiểu cấu trúc Kiểu mảng – chuỗiTrần Quang Kỹ thuật lập trình Chương 06: Array - struct© 2016 1 Nội dung Từ khoá typedef Cấu trúc Mảng Chuỗi ký tựTrần Quang Kỹ thuật lập trình Chương 06: Array - struct© 2016 2 Định nghĩa kiểu mới với typedef typedef cho phép người lập trình tạo ra tên mới cho một kiểu dữ liệu đã có. Tên mới mang lại tính dễ hiểu hơn, trong ngữ cảnh của bài toán đang xét. Tên mới giúp rút ngắn mã nguồn Cú pháp typedef ; Ví dụ typedef unsigned char BYTE; BYTE a, b;Trần Quang Kỹ thuật lập trình Chương 06: Array - struct© 2016 3 kiể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 có thể thuộc các kiểu dữ liệu khác nhau Các thành phần gọi là: trường dữ liệu (field) Một biến thuộc kiểu cấu trúc được xem là một tập hợp nhiều biến đơn lẻ thành một biến duy nhất Ví dụ Mỗi sinh viên cần lưu các thông tin: Mã số sinh viên Họ tên Ngày sinh Email, …Trần Quang 4 Kỹ thuật lập trình Chương 06: Array - struct© 2016 4 kiểu cấu trúc (struct) Tất cả các dữ liệu trong một biến cấu trúc có quan hệ với nhau tạo thành một khối Luôn luôn cấp phát cùng nhau và sắp xếp liên tục trong bộ nhớ Luôn luôn được huỷ khỏi bộ nhớ cùng nhau Các mảnh dữ liệu thành phần có thể truy xuất độc lập, thông quan tên field.Trần Quang Kỹ thuật lập trình Chương 06: Array - struct© 2016 5 Khai báo kiểu dữ liệu cấu trúc Khai báo kiểu cấu trúc struct { } Ví dụ struct sinhvien { char mssv[8]; char hoten[30]; float dtb; }Trần Quang 6 Kỹ thuật lập trình Chương 06: Array - struct© 2016 6 Khai báo biến cấu trúc Cú pháp: struct ; Ví dụ: struct sinhvien sv1, sv2, sv3;Trần Quang 7 Kỹ thuật lập trình Chương 06: Array - struct© 2016 7 Khai báo biến cấu trúc Cú pháp: struct ; Ví dụ: struct sinhvien sv1, sv2, sv3; Kết hợp khai báo biến với khai báo cấu trúc struct [tên cấu trúc] { ; } ;Trần Quang 8 Kỹ thuật lập trình Chương 06: Array - struct© 2016 8 Gán giá trị khởi tạo khi khai báo struct sinhvien { char mssv[8]; char hoten[30]; float dtb; S1: Không được khởi động }; s2: được khởi động không đầy đủ void main() { struct sinhvien s1; s3: được khởi động đầy đủ struct sinhvien s2 = { 001, Nguyen Van An }; struct sinhvien s3 = { 001, Nguyen Van An, 9.5f }; printf(MSSV: %s\n, s3.mssv); printf(Ho Ten: %s\n, s3.hoten); Truy xuất dữ liệu thành phần qua tên gọi } Quy tắc: .Trần Quang Kỹ thuật lập trình Chương 06: Array - struct© 2016 9 Kết hợp typedef với struct Bỏ từ khoá “struct” khi khai báo biến có kiểu struct Ví dụ: typedef struct sPoint3D { float x, y, z; cách định nghĩa một tên kiểu mới } Point3D; là Point3D thông qua typedef void main(){ struct sPoint3D p1 = {1.0f, 2.0f, 3.0f}; Point3D p2 = {1.0f, 2.0f, 3.0f}; printf(p1 = (%4.1f,%4.1f,%4.1f)\n, p1.x, p1.y, p1.z); printf(p2 = (%4.1f,%4.1f,%4.1f)\n, p2.x, p2.y, p2.z); }Trần Quang Kỹ thuật lập trình Chương 06: Array - struct© 2016 10 MảngTrần Quang Kỹ thuật lập trình Chương 06: Array - struct© 2016 11 Khái niệm mảng Mảng là một kiểu dữ liệu gồm một số hữu hạn thành phần. Các thành phần có cùng một kiểu, gọi là kiểu cơ sở hay là kiểu thành phần. Mỗi phần tử của mảng được tham khảo thông qua tên mảng và chỉ số của phần tử trong ...