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
4 trang |
Chia sẻ: Mr Hưng | Lượt xem: 870 | Lượt tải: 0
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:
- thcs2_tuan8_5696.pdf