定义一个整型的一维数组,并定义一个一维的学生信息结构体数组?

定义一个整型的一维数组,并定义一个一维的学生信息结构体数组,设计一个函数,按照数组下标的顺序,将整型数组中的变量信息赋值给学生结构体数组中的成绩成员变量。要求使用结构体指针类型的变量,进行结构体变量的赋值操作。

解题思路:采用 malloc 函数进行学生结构体指针变量的定义,将结构体指针变量指向学生结构体数组变量的首地址,并使用 --> 访问成员变量的方式进行结构体变量赋值。提示:指针变量指向结构体变量的首地址后,可以使用 ++ 运算符进行指针的移动操作。

参考代码:

#include "stdio.h"

#include "malloc.h"

#include "string.h"

#define NUM 1

struct STUDENT

{

char STU_ID[8];

char STU_NAME[10];

int STU_AGE;

int STU_SCORE;

};

int main(int argc, char* argv[])

{

int i;

int Age[5];// 待输入的 5 个年龄

printf(" 请输入五个年龄,以逗号隔开 \n");

// 依次输入 5 个年龄

scanf("%d,%d,%d,%d,%d",&Age[0],&Age[1],&Age[2],&Age[3],&Age[4]);

// 定义由 5 个结构体指针构成的数组(相当于 5 个指针)

struct STUDENT (*p_stu)[5] = (struct STUDENT (*)[5])malloc(5*sizeof(struct STUDENT));

// 学生补充代码,将数组 Age 中的值依次赋给结构体

{

}//end of 学生补充代码

// 打印赋值后的结果

for(i=0; i<5; i++)

{

printf("%d\n", p_stu[i]->STU_AGE);

}

return 1;

}

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^