首页 > 解决方案 > 下图中的内存地址和指针地址是什么?

问题描述

我只是在玩指针。而且我只完全理解了第 5、6 和 10、11 行。我想知道的是这里的指针地址是哪一个?第 7 行和第 14 行意味着什么?另外 %p 的含义是什么,使用此代码作为参考。

输出与行对齐

↓</p>

在此处输入图像描述

标签: cpointersmemory-addressdereferencepointer-address

解决方案


首先第 7 行:是一个错误,因为您尝试打印一个指针值,但您向他传递了一个 int 值“i”,该值很好地打印了一个与十六进制(base 16)中的 int 相对应的收件人内存。对于第 14 行: (*p) 将 int 类型传递给指针是一样的,因为 *p 返回存储在指针中的值,为什么它再次打印十六进制地址以更了解更改 i 的值到 15 或更高它很好地给你他在 hex 上的价值。指针的地址它是 (&p) 因为 &: 表示地址所以 & 的指针它是最后一行 15 。


推荐阅读