当 x 是 L 值(假设是变量)时,以下恒等式成立:
x == *(&x)
这很容易解释,因为 &x 是一个指向 x 的指针,而应用于 &x 的解引用运算符 * 当然会返回 x。
现在我想知道反过来是否有意义。确切地说,我想知道是否
p == &(*p)
当 p 是非悬空指针时。这似乎是有道理的,因为 *p 本身就是一个 L 值(一个具有地址的值),因为我们已经有了指向它的指针 (=adress) p。所以你只需要知道,这样的指针是唯一的,因为 &(*p) 没有其他机会成为 p。
因此,当两个恒等式都为真时,您可以说,在数学上,* 和 & 是彼此的反函数。
我对么?这个所谓的规则是否有任何可能的例外?