gpt4 book ai didi

c - 取消引用指针作为 C 中的参数的目的

转载 作者:太空宇宙 更新时间:2023-11-04 01:15:26 24 4
gpt4 key购买 nike

我最近遇到了这行代码:

CustomData_em_free_block(&em->vdata, &eve->data);

我想,不是:

a->b

只是语法糖:

(*a).b

考虑到这一点,这一行可以重写为:

CustomData_em_free_block(&(*em).vdata, &(*eve).data);

如果是这样,传入的意义何在

&(*a),作为参数,而不仅仅是一个?似乎传入了相当于 -(-a) 的指针,这有什么逻辑吗?

谢谢。

最佳答案

这个:

&(*em).vdata

与此不同:

em.vdata

与此相同:

&((*em).vdata)

& 符号采用 vdata 的地址,它是 em 指向的结构的成员。 . 运算符的优先级高于 & 运算符。

关于c - 取消引用指针作为 C 中的参数的目的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2558032/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com