CHƯƠNG 5 CẤU TRÚC VÀ HỢP 5.1 Kiểu cấu trúc

Một phần của tài liệu Bài giảng ngôn ngữ lập trình C (Trang 53 - 54)

3. Xây dựng và thực hiện các yêu cầu sau:

CHƯƠNG 5 CẤU TRÚC VÀ HỢP 5.1 Kiểu cấu trúc

5.1. Kiểu cấu trúc

Cấu trúc là tập hợp của một hoặc nhiều biến, chúng có thể khác kiểu nhau, được nhóm lại dưới một cái tên duy nhất để tiện sử lý.

Cấu trúc giúp cho việc tổ chức các dữ liệu phức tạp, đặc biệt trong những chương trình lớn vì trong nhiều tình huống chúng cho phép nhóm các biến có liên quan lại để xử lý như một đơn vị thay vì các thực thể tách biệt.

Một ví dụ được đề cập nhiều đến là cấu trúc phiếu ghi lương, trong đó mỗi nhân viên được mơ tả bởi một tập các thuộc tính chẳng hạn như : tên, địa chỉ, lương, phụ cấp vv.. một số trong các thuộc tính này lại có thể là cấu trúc bởi trong nó có thể chứa nhiều thành phần : Tên ( Họ, đệm, tên ), Địa chỉ ( Phố, số nhà ) vv.

Công việc định nghĩa một kiểu cấu trúc bao gồm việc nêu ra tên của kiểu cấu trúc và các thành phần của nó theo mẫu sau :

struct tên_kiểu _cấu_trúc {

Khai báo các thành phần của cấu trúc (1) };

Trong đó :

 struct là từ khố

 tên_kiểu _cấu_trúc là một tên bất kỳ do người lập trình tự đặt theo qui tắc đặt tên nêu ra trong chương 1.

Thành phần của cấu trúc có thể là : biến, mảng, cấu trúc khác đã được định nghĩa trước đó vv.. Ví dụ : Ví dụ 1: Đoạn chương trình : struct ngay { int ngaythu; char thang[12]; int nam; };

mơ tả một kiểu cấu trúc có tên là ngay gồm có ba thành phần : Biến nguyên ngaythu, mảng thang, và biến ngun nam.

Ví dụ 2:

Đoạn chương trình : struct nhancong

{

char ten[15]; char diachi[20] double bacluong; struc ngay ngaysinh;

struc ngay ngaybatdaucongtac; };

tạo ra kiểu cấu trúc có tên là nhancong gồm có năm thành phần. Ba thành phần đầu khơng có gì cần nói thêm. Chỉ có hai thành phần cịn lại là các cấu trúc ngaysinh và ngaybatdaucongtac được xây dựng theo cấu trúc ngay được định nghĩa trong ví dụ

Định nghĩa cấu trúc bằng typedef :

Có thể dùng toán tử typedef để định nghĩa các kiểu cấu trúc ngay và nhancong ở trên như sau :

typedef struct { int ngaythu; char thang[12]; int nam; } ngay; typedef struct { char ten[15]; char diachi[20] double bacluong; struc ngay ngaysinh;

struc ngay ngaybatdaucongtac; } nhancong;

Một phần của tài liệu Bài giảng ngôn ngữ lập trình C (Trang 53 - 54)