C语言如何在一个结构体数组中调用另一个结构体数组
时间: 2024-09-24 16:14:13 浏览: 49
Java调用C语言动态库(JNA方式):回调函数、结构体数组传参、结构体数组返回-附件资源
在C语言中,你可以使用结构体数组名来间接访问另一个结构体数组。假设你有两个结构体类型`Person`和`Contact`,它们分别有各自的数据成员:
```c
typedef struct Person {
char name[50];
int age;
} Person;
typedef struct Contact {
Person info; // 这里info是一个Person类型的结构体
char phone[20];
} Contact;
```
如果你有一个`Contact`数组`contacts`,你想通过`info`字段来访问其中每个人的`name`和`age`,可以这样做:
```c
Contact contacts[] = {
{{"Alice", 25}, "123456"},
{{"Bob", 30}, "789012"},
// 更多联系人...
};
for (int i = 0; i < sizeof(contacts) / sizeof(contacts[0]); i++) {
printf("Name: %s, Age: %d\n", contacts[i].info.name, contacts[i].info.age);
}
```
这里我们遍历了`contacts`数组,每次访问`info`部分,就可以获取到对应的`Person`信息。
阅读全文