我的C课程中有一个作业,要求:
创建一个包含100名学生的个人数据的数组。
这些数据必须是:
注1:每个学生的数据必须保存在一个多维数组中,其中数组的每一行都指向一个特定的学生,每个数组列都引用其相应的数据(姓氏,姓名,等)
我被要求在不创建数据库的情况下这样做。
有没有办法使用指针创建多变量数组?(而不是使用struct)
答案 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];