结构体指针成员是结构体指针怎么调用
时间: 2023-07-02 18:10:59 浏览: 86
基于C#调用c++Dll结构体数组指针的问题详解
如果一个结构体中有一个成员是结构体指针类型,那么我们可以通过该结构体指针成员来访问其所指向的结构体中的其他成员。
例如,假设有如下定义的结构体:
```
typedef struct {
int x;
int y;
} Point;
typedef struct {
char* name;
Point* pos;
} Person;
```
我们可以定义一个 Person 类型的变量,并为其成员分配内存:
```
Person* p = (Person*)malloc(sizeof(Person));
p->name = "Tom";
p->pos = (Point*)malloc(sizeof(Point));
p->pos->x = 1;
p->pos->y = 2;
```
这样,我们就可以通过结构体指针成员来访问其所指向的结构体中的其他成员,例如:
```
printf("%s is at (%d,%d)\n", p->name, p->pos->x, p->pos->y);
```
这将输出:Tom is at (1,2)。
阅读全文