C编程中的结构数组是不同数据类型变量的集合,这些变量以单个名称分组在一起。
结构声明的一般形式
结构声明如下-
struct tagname{ datatype member1; datatype member2; datatype member n; };
在这里,struct是关键字。
标记名指定结构的名称。
member1,member2指定组成结构的数据项。
以下示例显示了C编程中结构内数组的用法-
struct book{ int pages; char author [30]; float price; };
以下是C程序,用于演示结构中数组的使用-
#include <stdio.h> // 结构候选者的声明 struct candidate { int roll_no; char grade; // 结构内的数组 float marks[4]; }; // 显示内容的功能 // 结构变量 void display(struct candidate a1){ printf("Roll number : %d\n", a1.roll_no); printf("Grade : %c\n", a1.grade); printf("Marks secured:\n"); int i; int len = sizeof(a1.marks) / sizeof(float); // 访问内容 // 结构内的数组 for (i = 0; i < len; i++) { printf("Subject %d : %.2f\n", i + 1, a1.marks[i]); } } // 驱动程式码 int main(){ // 初始化结构 struct candidate A= { 1, 'A', { 98.5, 77, 89, 78.5 } }; // 显示结构的功能 display(A); return 0; }输出结果
执行以上程序后,将产生以下结果-
Roll number : 1 Grade : A Marks secured: Subject 1 : 98.50 Subject 2 : 77.00 Subject 3 : 89.00 Subject 4 : 78.50