C语言结构体指针的数组作为参数传入函数时,如何引用第i个结构体的参数?
时间: 2023-06-11 18:07:17 浏览: 114
可以使用指针运算符 `->` 来引用结构体指针数组中的第 i 个结构体的成员变量。
假设结构体定义如下:
```c
struct Student {
int id;
char name[20];
int age;
};
```
如果我们定义一个指向结构体 `Student` 的指针数组 `stu_arr`,并将其作为参数传递给函数,可以这样引用第 i 个结构体的参数:
```c
void func(struct Student *stu_arr, int i) {
// 引用第 i 个结构体的 id 成员变量
int id = stu_arr[i].id;
// 引用第 i 个结构体的 name 成员变量
char *name = stu_arr[i].name;
// 引用第 i 个结构体的 age 成员变量
int age = stu_arr[i].age;
}
```
也可以使用指针运算符 `->` 来引用结构体指针数组中的第 i 个结构体的成员变量:
```c
void func(struct Student *stu_arr, int i) {
// 引用第 i 个结构体的 id 成员变量
int id = (stu_arr + i)->id;
// 引用第 i 个结构体的 name 成员变量
char *name = (stu_arr + i)->name;
// 引用第 i 个结构体的 age 成员变量
int age = (stu_arr + i)->age;
}
```
阅读全文