结构体指针成员里面出现结构体指针
时间: 2023-08-22 10:09:41 浏览: 116
可以在结构体中使用结构体指针作为成员,这样可以实现对其他结构体的引用。例如,下面的示例展示了一个结构体 `Person`,其中包含一个指向另一个结构体 `Address` 的指针 `address`:
```c
#include <stdio.h>
typedef struct {
char street[50];
char city[50];
int postalCode;
} Address;
typedef struct {
char name[50];
int age;
Address* address;
} Person;
int main() {
Address address = {"123 Main St", "City", 12345};
Person person = {"John Doe", 30, &address};
printf("Name: %s\n", person.name);
printf("Age: %d\n", person.age);
printf("Address: %s, %s, %d\n", person.address->street, person.address->city, person.address->postalCode);
return 0;
}
```
在上述示例中,`Person` 结构体有一个指向 `Address` 结构体的指针 `address`。我们可以通过使用 `->` 运算符来访问 `address` 指向的结构体成员。
注意,当使用结构体指针作为成员时,需要确保在引用该成员之前为其分配内存空间,以避免出现空指针错误。
阅读全文