Mảng chứa struct trong C
1.Mảng chứa phần tử là struct trong C
Như chúng ta đã biết, mảng là tập hợp các phần tử có cùng kiểu với nhau. Các phần tử đó hoàn toàn có thể là kiểu dữ liệu struct.
Khai báo một mảng cấu trúc cũng giống như khai báo một mảng các kiểu cơ bản. Trong một mảng cấu trúc, mỗi phần tử của mảng đều có kiểu cấu trúc.
Ví dụ 1 mảng có kiểu sinh viên và lưu trữ 10 sinh viên, đầu tiên ta sẽ khai báo cấu trúc sinh viên trước và khai báo mảng có kiểu sinh viên bao gồm 10 phần tử ở trong hàm main:
Khai báo struct sinhvien bao gồm các trường Mã Sinh Viên, Tên Sinh Viên, Điểm Sinh Viên:
Khai báo mảng có kiểu sinhvien trong main:
Ta sẽ hình dung mảng SV arr_sv[10] như sau:
2.Nhập xuất dữ liệu cho mảng chứa struct
Ở trên, ta đã có một mảng chứa 10 phần tử là các struct có kiểu sinh viên. Tuy nhiên các thành phần trong struct sinh viên (Mã Sinh Viên, Tên Sinh Viên, Điểm Sinh Viên) đó hoàn toàn chưa có dữ liệu.
Để nhập dữ liệu vào mảng chứa struct, ta cần truy cập đến địa chỉ phần tử mảng và dùng toán tử chấm (.) để truy cập đến thành phần trong struct.
Ví dụ dưới đây, tôi sẽ dùng vòng lặp for để nhập N sinh viên sau đó hiển thị thông tin sinh viên ra màn hình như sau:
Ở phần ví dụ trên tôi để số lượng sinh viên được nhập vào là N và sử dụng hàm scanf cho việc nhập dữ liệu số, hàm fflush(stdin) để xóa bộ nhớ đệm sau đó kết hợp với gets cho việc nhập dữ liệu chuỗi.
Viết lại chương trình một cách hoàn chỉnh:
3.Khởi tạo mảng cấu trúc
Chúng ta hoàn toàn có thể khởi tạo một mảng có kiểu dữ liệu cấu trúc như, khởi tạo một mảng thông thường.
1 NguyenVanA 10.000000 2 NguyenVanB 5.500000 3 NguyenVanC 7.000000 4 NguyenVanD 8.200000 5 NguyenVanA 4.200000 |
Không có nhận xét nào: