Ngôn ngữ lập trình C/C++ - Kiểu dữ liệu có cấu trúc

Nếu var là một biến cấu trúc vàmlà thành

phần của cấu trúc thì cách truy cập đến

thành phần làvar.m

zNếu pvar là một biến con trỏcấu trúc và

mlà thành phần của cấu trúc thì cách truy

cập đến thành phần làpvar->m

pdf4 trang | Chia sẻ: Mr Hưng | Lượt xem: 777 | Lượt tải: 0download
Nội dung tài liệu Ngôn ngữ lập trình C/C++ - Kiểu dữ liệu có cấu trúc, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
11 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 zKiểu dữ liệu có cấu trúc {Cấu trúc {Hợp {Trường zKiể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 { các thành phần; } []; z Mỗi thành phần (một trường) là một khai báo biến z Phần có thể có hoặc không 5 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++ 6 Truy cập các thành phần cấu trúc zNế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 zNế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 zVí 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 27 Phép gán và khởi tạo cấu trúc zKhác với biến mảng, ta có thể gán hai biến cấu trúc cùng kiểu. zVí 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 zKhai báo con trỏ đến cấu trúc: zstruct *p; zTruy cập đến các thành phần: {p->, hoặc {*p. zĐịa chỉ các thành phần: {&(p->) 10 Đối của hàm là cấu trúc zMộ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 zCũ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) 313 Khái niệm zThông thường các biến trong C, C++ sử dụng một số nguyên các byte để lưu trữ zTrong 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 { int :; .... ’ ... } 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 ; zVí dụ: typedef struct vector vector_t; typedef struct { int ngay, thang, nam; } Date; 16 Kiểu hợp (Union) 17 Khai báo union { Danh sách các thành phần; }; zCá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ê 419 zCó 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: zenum tên_kiểu { d/s tên các giá trị }; zVí 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

Các file đính kèm theo tài liệu này:

  • pdfthcs2_tuan8_5696.pdf
Tài liệu liên quan