struct mystruct { int num; char *string; }; struct mystruct data = {10, "hello world"}; struct mystruct *p = &data; // p 指向结构体变量 data printf("%d %s\n", p->num, p->string); // 通过指针访问结构体成员,具体解释一下
时间: 2024-04-29 13:20:42 浏览: 55
container_of:获取指向包含结构体成员的结构体的指针
这段代码定义了一个名为 `mystruct` 的结构体,包含了两个成员变量,一个是整型变量 `num`,另一个是字符指针 `string`。接着定义了一个名为 `data` 的结构体变量,将 `num` 初始化为 `10`, `string` 初始化为 `"hello world"`。然后又定义了一个名为 `p` 的结构体指针,将其指向结构体变量 `data`。最后使用 `p->num` 和 `p->string` 访问结构体成员 `num` 和 `string`,并将其打印出来。
这里用到了结构体指针的概念,结构体指针可以通过 `->` 运算符访问结构体成员,这相当于先解引用指针,再通过成员访问运算符访问结构体成员。因此,`p->num` 相当于 `(*p).num`, `p->string` 相当于 `(*p).string`。
阅读全文