Định nghĩa

Một phần của tài liệu GIÁO TRÌNH NGÔN NGỮ LẬP TRÌNH C ĐẠI CƯƠNG (Trang 91)

Kiểu 1

struct <tên cấu trúc> {

<tên kiểu dữ liệu> <tên thành phần 1>; <tên kiểu dữ liệu> <tên thành phần 2>;

91

};

Ví d 6.3 : Một nhân viên được mô tả bằng 3 thành phần thông tin, còn gọi là trường (field): mã số (int), họ tên (tối đa 29 ký tự), lương (float) có thể khai báo như sau:

struct Tenhanvien// struct khai báo một cấu trúc {

int maso;

char hoten[30]; //chừa 1 ký tự cuối chứa ‘\0’

float luong;

}; //để kết thúc một khai báo cấu trúc.

Ví dụ 6.4: Một ngày được mô tử bằng 4 thành phần thông tin: ngày (day), tháng (month), năm (year) và thứ của ngày trong tuần (chuỗi ngày).

struct date // mô tả ngày tháng năm {

int day ; int month; int year;

char weekdays [4];//Mon, Tue, Wed };

Ví dụ 6.5

Màn hình máy tính sử dụng hệ tọa độ nguyên, một ký tự xuất hiện trên màn hình có thể được mô tả như sau:

struct SCR_CHAR // screen character {

char c; //ký tự gì

short x,y; // được xuất ở điểm nào trên màn hình };

92

a. Kiểu 2

typedef struct <tên cấu trúc>

{

<tên kiểu dữ liệu> <tên thành phần 1>;

<tên kiểu dữ liệu> <tên thành phần 2>;

}<tên cấu trúc mới>;

Ví dụ 6.6:Kiểu nhân viên có thể được khai báo như sau :

typedef struct Tenhanvien

{

int maso;

char ten[30]; float luong;

}TENNV;

Sau câu lệnh trên chúng ta có kiểu dữ liệu Nhân viên có 2 tên gọi là

Tenhanvien và TENV.

Nếu ta chỉ khai báo struct, khi cần dùng kiểu dữ liệu đó, chúng ta phải dùng tên kèm theo struct phía trước tên. Dùng typedef để định nghĩa kiểu struct thì khi cần kiểu dữ liệu mới này không cần phải đánh lại chữ struct ở đầu, mà có thể dùng tên gọi mới sau khai báo struct.

Chẳng hạn để khai báo một biến thuộc kiểu Nhân viên, ta có 2 cách ghi: struct Tennhanvien a;

hoặc

TENNV a;

Một phần của tài liệu GIÁO TRÌNH NGÔN NGỮ LẬP TRÌNH C ĐẠI CƯƠNG (Trang 91)