通过结构体成员地址访问其他成员变量
时间: 2023-12-02 15:02:34 浏览: 108
C语言中结构体偏移及结构体成员变量访问方式的问题讨论
5星 · 资源好评率100%
在C/C++中,可以通过结构体成员地址访问其他成员变量。这种方式被称为“结构体成员指针”。可以使用一个指向结构体成员的指针,来访问该成员所在结构体的其他成员。例如,有一个结构体定义如下:
```
struct student {
int id;
char name[20];
int age;
};
```
可以定义一个指向id成员的指针,然后通过它来访问结构体的其他成员:
```
struct student s;
int *p = &(s.id);
*p = 1001; // 修改id成员的值
strcpy(s.name, "Tom"); // 访问name成员
s.age = 20; // 访问age成员
```
需要注意的是,结构体成员指针只能用于访问结构体中已经存在的成员,不能用于添加新的成员。
阅读全文