将struct数组传递给函数

时间:2017-08-14 01:49:55

标签: c

我已经设置了这些结构。我想知道option1和option2是否相同,并将带来相同的功能。 changeInfo(student)将从另一个函数调用,其中INFO * arr的空间将被malloced。

typedef struct{
    int grade;
    int age;

}INFO; 

typedef struct {
    int idNum;
    INFO * arr;
}STUDENT;

void changeInfo(STUDENT * student){
   //OPTION 1
   resetInfo(student)
   // or OPTION 2
   resetInfo(student->arr);
}

//option 1
void resetInfo(STUDENT * s){
     s->arr[0].grade = 0;
     s->arr[0].age = 0;

}
//option 2
void resetInfo(INFO * info){
    info[0].grade = 0;
    info[0].age = 0;
}

0 个答案:

没有答案