老师,请教下箭头运算符的问题
来源:8-1 结构体【内存占用分析】

三尺357159
2024-03-03
我看使用指针指向结构体的时候
struct Person *person_ptr = &person;
当我们使用person_ptr->name的时候,其中的->运算符是不是相当于已经做了取地址的操作了,
就是 * person_ptr,即 *&person 这一步操作了,因为直接使用person_ptr变量的话,仅仅是拿出了里面存放的0x1234。如果->包含了间接使用地址的操作的话,那么后面就解释得通了,就好像 ->等同于:
person_ptr->name = *person_ptr.name = * 0x1234.name = * &person.name = person.name
(上面是我类比的)
写回答
2回答
-
-> 运算符应该是会解引用,person_ptr本来就是指针,*person_ptr是解引用,person_ptr->name 其实就是 (*person_ptr).name012024-03-04
-
bennyhuo
2024-03-04
是的,可以这么理解00
相似问题