如何在c

时间:2018-01-03 09:33:05

标签: c arrays

我的C课程中有一个作业,要求:

  

创建一个包含100名学生的个人数据的数组。

这些数据必须是:

  • 姓氏
  • 名称
  • 年龄
  • C语言成绩
  • Java成绩
  • C ++成绩

注1:每个学生的数据必须保存在一个多维数组中,其中数组的每一行都指向一个特定的学生,每个数组列都引用其相应的数据(姓氏,姓名,等)

我被要求在不创建数据库的情况下这样做。

有没有办法使用指针创建多变量数组?(而不是使用struct)

1 个答案:

答案 0 :(得分:3)

C实际上没有多维数组,但你可以拥有数组数组,指针数组或结构数组。

但是,数组中的所有元素必须属于同一类型。因此,您不能在同一个数组中同时存储名称(c字符串)和标记(整数或双精度)。

通常的C方法是创建一个包含所有字段的结构,并将它们存储在一个顶级数组中:

typedef struct Student_ student;
struct Student_
{
  char firstName[20]; //make sure the names aren't longer than 19 chars (use strlcpy!!!), or use char* and malloc for the names!
  char lastName[20];
  double cppMark;
  double javaMark;
  double cMark;
};
Student students[100];