1. Khai báo struct
struct là kiểu dữ liệu có thể bao gồm các kiểu dữ liệu cơ bản khác như : int,char*, float, …
Cách khai báo tổng quát như sau:
struct <tên struct> { <Data type> Biến 1; <Data type> Biến 2; ... <Data type> Biến n; }<Khai báo thêm các biến struct>;
Ví dụ 1:
struct Date // tên struct : Date { int day; int month; int year; };
2. Khởi tạo struct
Ở trên, ta đã khai báo struct có tên Date gồm 3 trường số nguyên : day,month,year. Sau khi khai báo ta có thể khởi tạo cho struct Date như sau:
Date date = {22,11,2013};
3. Truy cập đến từng trường trong struct.
Để truy cập đến từng trường trong struct Date ta dùng toán tử “.” như sau:
Ví dụ 2:
#include <conio.h> #include <stdio.h> struct Date { int day; int month; int year; }date; void main() { Date date = {22, 11, 2013}; printf("\n dd/mm/yyyy = %d/%d/%d", date.day, date.month, date.year); getch(); }
Kết quả:
dd/mm/yyyy = 22/11/2013
4. Con trỏ cấu trúc
Ta có thể khai báo con trỏ kiểu cấu trúc, dùng toán tử “->” để truy cập đến các phần tử trong cấu trúc.
Ví dụ 3:
#include <conio.h> #include <stdio.h> struct Date { int day; int month; int year; }; void main() { Date *pDate; // khai báo con trỏ kiểu Date // khởi tạo cho các trường trong kiểu Date pDate->day = 22; pDate->month = 11; pDate->year = 2013; printf("\n dd/mm/yyyy = %d/%d/%d", pDate->day, pDate->month, pDate->year); getch(); }
Kết quả:
dd/mm/yyyy = 22/11/2013
Ngoài cách khai báo con trỏ kiểu Date ở trên, ta có thể dùng từ khóa typedef để khai báo con trỏ kiểu Date :
Ví dụ 4:
#include <conio.h> #include <stdio.h> typedef struct Date { int day; int month; int year; }*DATE; void main() { DATE pDate; pDate->day = 22; pDate->month = 11; pDate->year = 2013; printf("\n dd/mm/yyyy = %d/%d/%d", pDate->day, pDate->month, pDate->year); getch(); }
Kết quả:
dd/mm/yyyy = 22/11/2013
Leave a Reply
You must be logged in to post a comment.