Mảng cấu trúc trong C là tập hợp các biến kiểu dữ liệu khác nhau, được nhóm lại dưới một tên duy nhất.
Dạng chung của khai báo cấu trúc
Khai báo cấu trúc như sau:
struct tagname {
datatype member1;
datatype member2;
datatype member n;
};
Ở đây, struct là từ khóa.
tagname chỉ định tên cấu trúc.
member1, member2 chỉ định các mục dữ liệu cấu thành cấu trúc.
Ví dụ
Ví dụ sau minh họa mảng trong cấu trúc:
struct book {
int pages;
char author[30];
float price;
};
Ví dụ chương trình
Chương trình C minh họa việc sử dụng mảng trong cấu trúc:
#include <stdio.h>
// Khai báo cấu trúc candidate
struct candidate {
int roll_no;
char grade;
// Mảng trong cấu trúc
float marks[4];
};
// Hàm hiển thị nội dung biến cấu trúc
void display(struct candidate a1) {
printf("Số báo danh: %d\n", a1.roll_no);
printf("Xếp loại: %c\n", a1.grade);
printf("Điểm các môn:\n");
int i;
int len = sizeof(a1.marks) / sizeof(float);
// Truy cập nội dung mảng trong cấu trúc
for (i = 0; i < len; i++) {
printf("Môn %d: %.2f\n", i + 1, a1.marks[i]);
}
}
// Chương trình chính
int main() {
// Khởi tạo cấu trúc
struct candidate A = {1, 'A', {98.5, 77, 89, 78.5}};
// Gọi hàm hiển thị
display(A);
return 0;
}
Kết quả
Số báo danh: 1 Xếp loại: A Điểm các môn: Môn 1: 98.50 Môn 2: 77.00 Môn 3: 89.00 Môn 4: 78.50