结构体指针与 -> · p->member 等价 (*p).member
p 存结构体的地址,箭头顺地址找到本体;-> 是「解引用并取成员」一步到位。注意优先级陷阱 *p.no
指针变量 p(存的是地址)
内存里的结构体 student1
studentT *p = &student1;
p
0x7ffd…a0
指向 student1 的地址
@ 0x7ffd…a0
no
"00001"
name
"张三"
math
87
顺着地址找到本体
通过指针访问成员 student1.math 的三种写法
(*p).math
先解引用,再取成员
✓
p->math
等价且简洁(首选)
✓
*p.math
✗
. 优先级高于 *,被解析成 *(p.math)
p 是指针没有 .math 成员 → 编译错误
▶ 重播