解释C编程中结构内数组的概念

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