Ngôn ngữ lập trình C/C++ - Tuần 8

4 333 4
Ngôn ngữ lập trình C/C++ - Tuần 8

Đang tải... (xem toàn văn)

Thông tin tài liệu

1 1 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) 2 Nội dung z Kiểu dữ liệu có cấu trúc {Cấu trúc {Hợp {Trường z Kiểu liệt kê 3 Kiểu cấu trúc 4 Khai báo và khởi tạo cấu trúc struct <tên kiểu> { các thành phần; } [<danh sách biến>]; z Mỗi thành phần (một trường) là một khai báo biến z Phần <danh sách biến> có thể có hoặc không 5 Khai báo biến cấu trúc // Khai báo trong C struct <tên cấu trúc> <danh sách biến>; // Khai báo trong C++ <tên cấu trúc> <danh sách biến>; 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++ 6 Truy cập các thành phần cấu trúc z 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 z 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 z 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 2 7 Phép gán và khởi tạo cấu trúc z Khác với biến mảng, ta có thể gán hai biến cấu trúc cùng kiểu. z 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 8 Hàm và cấu trúc 9 Con trỏ và địa chỉ cấu trúc z Khai báo con trỏ đến cấu trúc: z struct <tên cấu trúc> *p; z Truy cập đến các thành phần: {p-><tên thành phần>, hoặc {*p.<tên thành phần> z Địa chỉ các thành phần: {&(p-><tên thành phần>) 10 Đối của hàm là cấu trúc z 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. 11 Giá trị của hàm là cấu trúc z 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. 12 Cấu trúc với thành phần kiểu bit (trường) 3 13 Khái niệm z 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ữ z 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 14 Khai báo trường struct <tên cấu trúc> { int <tên trường>:<số bit>; <tên kiểu> <tên trường>’ } z Chú ý: Tên trường bit phải có kiểu int hoặc unsigned int 15 Khai báo kiểu mới z typedef <tên kiểu> <tên kiểu mới>; z Ví dụ: typedef struct vector vector_t; typedef struct { int ngay, thang, nam; } Date; 16 Kiểu hợp (Union) 17 Khai báo union <tên kiểu> { Danh sách các thành phần; }; z Cách truy cập đến các thành phần: Giống như kiểu cấu trúc 18 Kiểu liệt kê 4 19 z 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: z enum tên_kiểu { d/s tên các giá trị }; z Ví dụ: {enum Bool {false, true}; Khai báo 20 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

Ngày đăng: 08/05/2014, 16:34

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan