} NgayThang;
Ví dụ 2: Mỗi sinh viên cần được quản lý bởi các thông tin: mã số sinh viên, họ tên, ngày tháng năm sinh, giới tính, địa chỉ thường trú. Lúc này ta có thể khai báo một struct gồm các thông tin trên.
struct SinhVien
{
char MSSV[10];
char HoTen[40];
struct NgayThang NgaySinh;
int Phai;
char DiaChi[40];
};
typedef struct
{
char MSSV[10];
char HoTen[40];
NgayThang NgaySinh;
int Phai;
char DiaChi[40];
} SinhVien;
Khai báo biến cấu trúc
Việc khai báo biến cấu trúc cũng tương tự như khai báo biến thuộc kiểu dữ liệu chuẩn.
Cú pháp:
- Đối với cấu trúc được định nghĩa theo cách 1:
struct <Tên cấu trúc> <Biến 1> [, <Biến 2>...];
- Đối với các cấu trúc được định nghĩa theo cách 2:
<Tên cấu trúc> <Biến 1> [, <Biến 2>...];
Ví dụ: Khai báo biến NgaySinh có kiểu cấu trúc NgayThang; biến SV có kiểu cấu trúc SinhVien.
struct NgayThang NgaySinh;
struct SinhVien SV;
NgayThang NgaySinh;
SinhVien SV;
CÁC THAO TÁC TRÊN BIẾN KIỂU CẤU TRÚC
Truy xuất đến từng trường của biến cấu trúc
Cú pháp:<Biến cấu trúc>.<Tên trường>
Khi sử dụng cách truy xuất theo kiểu này, các thao tác trên <Biến cấu trúc>.<Tên trường> giống như các thao tác trên các biến của kiểu dữ liệu của <Tên trường>.
Ví dụ : Viết chương trình cho phép đọc dữ liệu từ bàn phím cho biến mẩu tin SinhVien và in biến mẩu tin đó lên màn hình:
#include<conio.h>
#include<stdio.h>
#include<string.h>
typedef struct
{
unsigned char Ngay;
unsigned char Thang;
unsigned int Nam;
} NgayThang;
typedef struct
{
char MSSV[10];
char HoTen[40];
NgayThang NgaySinh;
int Phai;
char DiaChi[40];
} SinhVien;
/* Hàm in lên màn hình 1 mẩu tin SinhVien*/
KIỂU CẤU TRÚC TRONG C
Bắt đầu từ đầu