Bài giảng Ngôn ngữ lập trình C/C++ (Tuần 8)
struct <tên kiểu>
{
các thành phần;
} [<danh sách biến>];
Mỗi thành phần (một trường) là một khai báo biến
Phần <danh sách biến> có thể có hoặc không
Tóm tắt nội dung Bài giảng Ngôn ngữ lập trình C/C++ (Tuần 8), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
NGÔN NGỮ LẬP TRÌNH C/C++ (Bài giảng tuần 8) Nội dung Kiểu dữ liệu có cấu trúc Cấu trúc Hợp Trường Kiểu liệt kê Kiểu cấu trúc Khai báo và khởi tạo cấu trúc struct { các thành phần; } []; Mỗi thành phần (một trường) là một khai báo biến Phần có thể có hoặc không Khai báo biến cấu trúc // Khai báo trong C struct ; // Khai báo trong C++ ; Ví dụ: struct vector { double x, y, z; }; struct vector v1, *v2; // Khai báo vector trong C vector v3, *v4; // Khai báo vector trong C++ Truy cập các thành phần cấu trúc Nếu var là một biến cấu trúc và m là thành phần của cấu trúc thì cách truy cập đến thành phần là var.m Nếu pvar là một biến con trỏ cấu trúc và m là thành phần của cấu trúc thì cách truy cập đến thành phần là pvar->m Ví dụ: Thành phần x, y, z của các vector trong ví dụ trên: v1.x, v1.y, v1.z; v2->x, v2->y, v2->z Phép gán và khởi tạo cấu trúc Khác với biến mảng, ta có thể gán hai biến cấu trúc cùng kiểu. Ví dụ: struct vector v1, v2, v3 = {1, 1, 1}; v1.x = 0; v1.y = 0; v1.z = 0; v2 = v1; // Gán cấu trúc Hàm và cấu trúc Con trỏ và địa chỉ cấu trúc Khai báo con trỏ đến cấu trúc: struct *p; Truy cập đến các thành phần: p->, hoặc *p. Địa chỉ các thành phần: &(p->) Đối của hàm là cấu trúc Một cấu trúc có thể được sử dụng để làm đối của hàm dưới các dạng sau đây: Là một biến cấu trúc, khi đó tham đối thực sự là một cấu trúc. Là một con trỏ cấu trúc, tham đối thực sự là địa chỉ của một cấu trúc. Là một tham chiếu cấu trúc, tham đối thực sự là một cấu trúc. Là một mảng cấu trúc hình thức hoặc con trỏ mảng, tham đối thực sự là tên mảng cấu trúc. Giá trị của hàm là cấu trúc Cũng tương tự như các kiểu dữ liệu cơ bản, giá trị trả lại của một hàm cũng có thể là các cấu trúc dưới các dạng sau: là một biến cấu trúc. là một con trỏ cấu trúc. là một tham chiếu cấu trúc. Cấu trúc với thành phần kiểu bit (trường) Khái niệm Thông thường các biến trong C, C++ sử dụng một số nguyên các byte để lưu trữ Trong các trường hợp cần thao tác với các bit, ta sử dụng khai báo trường Khai báo trường struct { int :; .... ’ ... } Chú ý: Tên trường bit phải có kiểu int hoặc unsigned int Khai báo kiểu mới typedef ; Ví dụ: typedef struct vector vector_t; typedef struct { int ngay, thang, nam; } Date; Kiểu hợp (Union) Khai báo union { Danh sách các thành phần; }; Cách truy cập đến các thành phần: Giống như kiểu cấu trúc Kiểu liệt kê Có thể gán các giá trị nguyên liên tiếp (tính từ 0) cho các tên gọi cụ thể bằng kiểu liệt kê theo khai báo sau đây: enum tên_kiểu { d/s tên các giá trị }; Ví dụ: enum Bool {false, true}; Khai báo Sử dụng kiểu liệt kê Biến tham chiếu int i; int &j=i; // j là một cách tham chiếu khác // của biến i j = 5; // Sau lệnh gán này i cũng có giá trị 5 Biến tham chiếu phải được khởi tạo khi khai báo
File đính kèm:
- Bài giảng Ngôn ngữ lập trình CC++ (Tuần 8).ppt