Xem mẫu

Nội dung NGÔN NGỮ LẬP TRÌNH C/C++ Nguyễn Hải Châu Khoa Công nghệ thông tin Trường Đại học Công nghệ (Bài giảng tuần 8) ⌘Kiểu dữ liệu có cấu trúc {Cấu trúc {Hợp {Trường ⌘Kiểu liệt kê 1 2 Khai báo và khởi tạo cấu trúc Kiểu 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 3 4 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++ 5 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 6 1 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 7 8 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->) 9 Đố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. 10 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. 11 Cấu trúc với thành phần kiểu bit (trường) 12 2 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 13 14 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) 15 16 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ê 17 18 3 Khai báo ⌘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}; 19 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 20 4 ... - tailieumienphi.vn
nguon tai.lieu . vn