2. Khai báo kiểu dữ liệu bằng typedef
• Ngôn ngữ c cho phép định nghĩa kiểu dữ liệu
mới bằng từ khóa typedef
– typedef ;
– Ví dụ: khi khai báo typedef int songuyen;
Khi đó ta có thể khai bao songuyen s1, s2;
• Đối với cấu trúc, việc khai báo rất dài do vậy ta
thường khai báo một cấu trúc bằng từ khóa
typedef
– Ví dụ: typedef struct sinhvien
{
các kiểu dữ liệu thành phần
};
Khi đó ta khai báo: sinhvien sv1, sv2;3.Một số thao tác trên cấu trúc
a. Truy cập tới thành phần của cấu trúc
Cú pháp
Cho biến cấu trúc .
Ví dụ: sv1.ms
Cho mảng cấu trúc [i].
Ví dụ: dslop[i].ms
Cho con trỏ cấu trúc ->
hoặc <*contro>.;
Ví dụ: ctsv1->ms hoặc (*ctsv1).ms
9 trang |
Chia sẻ: trungkhoi17 | Lượt xem: 453 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài giảng Lập trình C++ - Chương 2: Cấu trúc, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Chương 2: CẤU TRÚC
1. Khai báo và định nghĩa cấu trúc
a. Định nghĩa cấu trúc
b. Khai báo cấu trúc
Khai báo cấu trúc
Khai báo biến cấu trúc
Khai báo mảng cấu trúc
Khai báo con trỏ cấu trúc
2. Khai báo kiểu dữ liệu bằng typedef
3. Một số thao tác trên cấu trúc
a. Truy cập tới thành phần của cấu trúc
b. Phép gán giữa các cấu trúc
c. Truyền biến cấu trúc cho hàm
1. Khai báo và định nghĩa cấu trúc
a. Định nghĩa cấu trúc
• Trong lập trình có thể chúng ta phải tổ chức dữ liệu
mà ngôn ngữ LTC không có sẵn. Ví dụ: Dữ liệu về
ngày tháng gồm ngày, tháng, năm. Dữ liệu về sinh
viên gồm mã số, họ tên, ngày tháng năm sinh,
điểm
• Để tổ chức được những loại dữ liệu như trên người
ta dùng cấu trúc
• Cấu trúc là kiểu dữ liệu bao gồm nhiều kiểu dữ liệu
thành phần và mỗi kiểu dữ liệu thành phần là kiểu
dữ liệu đơn hoặc dữ liệu có cấu trúc khác.
1. Khai báo và định nghĩa cấu trúc
b. Khai báo cấu trúc
• Cấu trúc được khai báo theo cú pháp sau:
struct
{
biến thành phần 1;
biến thành phần 2;
;
};
struct sinhvien
{
char ms[10];
char hoten[20];
int ns;
float dtb;
};
1. Khai báo và định nghĩa cấu trúc
b. Khai báo cấu trúc
• Khai báo biến cấu trúc
• Hoặc: struct biencautruc
– struct sinhvien sv1, sv2
struct
{
biến thành phần 1;
biến thành phần 2;
} biencautruc;
struct sinhvien
{
char ms[10];
char hoten[20];
int ns;
float dtb;
} sv1, sv2;
1. Khai báo và định nghĩa cấu trúc
b. Khai báo cấu trúc
• Khai báo mảng cấu trúc
• Hoặc: struct mangcautruc[size]
– struct sinhvien dslop[20]
struct
{
biến thành phần 1;
biến thành phần 2;
} mangcautruc[size];
struct sinhvien
{
char ms[10];
char hoten[20];
int ns;
float dtb;
} dslop[10];
1. Khai báo và định nghĩa cấu trúc
b. Khai báo cấu trúc
• Khai báo con trỏ cấu trúc
• Hoặc: struct *biencontro
– struct sinhvien *ctsv1;
struct
{
biến thành phần 1;
biến thành phần 2;
} *controct;
struct sinhvien
{
char ms[10];
char hoten[20];
int ns;
float dtb;
} *ctsv1, *ctct2;
2. Khai báo kiểu dữ liệu bằng typedef
• Ngôn ngữ c cho phép định nghĩa kiểu dữ liệu
mới bằng từ khóa typedef
– typedef ;
– Ví dụ: khi khai báo typedef int songuyen;
Khi đó ta có thể khai bao songuyen s1, s2;
• Đối với cấu trúc, việc khai báo rất dài do vậy ta
thường khai báo một cấu trúc bằng từ khóa
typedef
– Ví dụ: typedef struct sinhvien
{
các kiểu dữ liệu thành phần
};
Khi đó ta khai báo: sinhvien sv1, sv2;
3.Một số thao tác trên cấu trúc
a. Truy cập tới thành phần của cấu trúc
Cú pháp
Cho biến cấu trúc .
Ví dụ: sv1.ms
Cho mảng cấu trúc [i].
Ví dụ: dslop[i].ms
Cho con trỏ cấu trúc ->
hoặc .;
Ví dụ: ctsv1->ms hoặc (*ctsv1).ms
3.Một số thao tác trên cấu trúc
b. Phép gán giữa các cấu trúc
Phép gán được thực hiện giữa những
biến cùng cấu trúc
c. Truyền biến cấu trúc cho hàm
Việc truyền biến cấu trúc, bao gồm tham
biến và tham trị.
– Tham trị
– Tham biến
Các file đính kèm theo tài liệu này:
- bai_giang_lap_trinh_c_chuong_2_cau_truc.pdf