Các mảng trong C cho phép bạn định nghĩa một vài loại biến có thể giữ giá trị của một vài thành viên có cùng kiểu dữ liệu. Tuy nhiên, Struct trong C, hay structure - cấu trúc là một loại dữ liệu khác trong ngôn ngữ lập trình này, cho phép bạn kết hợp với các dữ liệu khác kiểu nhau.
Struct trong C là gì?
Struct trong C được sử dụng để định nghĩa kiểu dữ liệu mới dựa trên kiểu dữ liệu hiện có và có đặc điểm tập hợp được nhiều thành phần có kiểu dữ liệu khác nhau.
Ví dụ định nghĩa kiểu dữ liệu tên là SinhVien gồm các thành phần như họ tên (kiểu chuỗi), nơi sinh (kiểu chuỗi), điểm trung bình (kiểu số), ....
Sử dụng kiểu dữ liệu mở rộng struct trong các yêu cầu như: Chương trình quản lý nhân sự, mỗi nhân sự gồm họ tên, giới tính, ngày sinh, nơi sinh, bằng cách,... Chương trình quản lý điểm của sinh viên. Các thông tin cần quản lý gồm mã sinh viên, họ tên, môn học, điểm,...
Cú pháp khai báo Struct trong C
Cú pháp được khai báo như sau:
<struct Kiểu_Dữ_Liệu_Mới { Kiểu_Dữ_Liệu Thành_Phần_1; Kiểu_Dữ_Liệu Thành_Phần_2; ... Kiểu_Dữ_Liệu Thành_Phần_n; };>
Trong đó Kiểu_Dữ_Liệu có thể là int, long, float, double, char. Dưới đây là ví dụ về định nghĩa kiểu dữ liệu date gồm các thành phần như ngày, tháng và năm:
<struct date { int ngay; int thang; int nam; };>
Sử dụng Struct trong C như thế nào?
Trong ngôn ngữ lập trình c , structure là một kiểu dữ liệu tập hợp các biến có kiểu dữ liệu khác nhau, được sử dụng để lưu trữ các đối tượng có tính chất tương tự nhau. Để khai báo một struct, ta sử dụng từ khóa struct và đặt tên cho struct đó. Sau đó, ta chỉ định các biến bên trong struct và kiểu dữ liệu của chúng.
Khai báo biến kiểu struct
<Kiểu_Dữ_Liệu_Mới Tên_Biến;>
Ví dụ khai báo biến kiểu date:
<date d;>
Truy cập các thành phần bên trong struct trong C
Để truy cập các thành phần bên trong một struct ngôn ngữ lập trình c , bạn có thể sử dụng toán tử dấu chấm ".".
<Tên_Biến.Tên_Thành_Phần;>
Ví dụ truy cập các thành phần của biến d:
printf("%d", d.ngay); //Hiển thị ngày printf("%d", d.thang); //Hiển thị tháng printf("%d", d.nam); //Hiển thị năm
Bài tập vận dụng: Định nghĩa kiểu dữ liệu môn học biết rằng mỗi môn học gồm tên môn và số giờ.
Một số bài tập thực hành về struct trong C
Bài thực hành số 1: Viết chương trình C lưu tên và tuổi của 5 nhân viên sử dụng mảng cấu trúc (struct). Chương trình cho phép tìm kiếm các thông tin của nhân viên theo tên.
Bài thực hành số 2: Cho một danh sách Struct trong C lưu thông tin của các thí sinh khi thi xét tuyển vào lớp 10 ban A, thông tin gồm:
- Số báo danh (chuỗi, 5 ký tự)
- Họ và tên (chuỗi, tối đa 25 ký tự)
- Điểm toán (số thực)
- Điểm lý (số thực)
- Điểm anh văn (số thực)
- Điểm tổng (số nguyên, trong đó điểm tổng= điểm toán + điểm lý + điểm anh văn).
Yêu cầu thực hiện:
- Nhập danh sách thí sinh và điểm
- Hiển thị thông tin những thí sinh có tổng điểm >= 18 và không có môn nào dưới 5
- Cập nhật điểm của thí sinh theo mã số (mã số được nhập vào)
Tổng kết
Như vậy, qua bài viết về Struct trong C ở trên, bạn đã hiểu được về định nghĩa kiểu dữ liệu mới với structure, sử dụng kiểu dữ liệu sao cho đúng cách nhất.
Đừng quên bỏ lỡ bất cứ bài viết nào của chúng tôi để học thêm nhiều kiến thức hữu ích về ngôn ngữ lập trình C nhé.
Bài viết gốc được đăng tải tại giasutinhoc.vn