打印结构体指针的数组字符
时间: 2024-09-08 12:03:59 浏览: 139
当你有一个结构体类型的指针数组,并想要打印出每个元素的内容时,通常你需要通过指针逐个访问结构体的成员并转换为字符串形式再输出。假设你有一个名为`Person`的结构体,包含姓名和年龄字段,可以这样做:
```c
#include <stdio.h>
#include <string.h>
// 假设这是一个结构体定义
typedef struct {
char name[50];
int age;
} Person;
void printPersonArray(Person* arr, int size) {
for (int i = 0; i < size; i++) {
printf("Name: %s, Age: %d\n", arr[i].name, arr[i].age);
}
}
int main() {
// 创建一个Person类型的指针数组
Person people[] = {{"Alice", 25}, {"Bob", 30}, {"Charlie", 35}};
int array_size = sizeof(people) / sizeof(people[0]);
// 打印整个数组
printPersonArray(people, array_size);
return 0;
}
```
在这个例子中,`printPersonArray`函数遍历数组,对每个`Person`类型的指针调用`.`运算符获取结构体的`name`和`age`字段,然后将它们格式化成字符串形式打印。
阅读全文