C++:指针,找到它的目标地址?

标签 c++ pointers

我确定之前一定有人问过这个问题,但我找不到。

基本上,我正在查看这些变量:

unsigned short* bufferName = 0;
unsigned short* pBuffer = 0;
bufferName = new unsigned short[6400];
pBuffer = bufferName;
cout << &bufferName << &pBuffer

此设置允许将 6400 像素(每个 = 2 字节)读入 bufferName。变量 pBuffer 用于在 bufferName 的内存块内进行跟踪。

第 5 行的 cout 语句打印每个的地址。但是一旦我递增:pBuffer,我如何才能找到它指向的新地址?

非常感谢您的耐心和时间。我知道这篇文章对我所做的事情非常简短,但我试图有意保持简短。

最佳答案

但是一旦我递增:pBuffer,我如何才能找到它指向的新地址?

指针指向的地址就是它的值。

所以

cout << pBuffer;

将输出指向的地址。

cout << * pBuffer

将输出指向的地址中的值(称为“解引用”)

cout << &pBuffer

将输出指针本身的地址(永远不会改变)

关于C++:指针,找到它的目标地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33696719/

相关文章:

c++ - 错误 C2664 : cannot convert argument 2 from 'const ATL::CAdapt<ATL::CComPtr<IZipFileEntry>> *' to 'ATL::CAdapt<ATL::CComPtr<IZipFileEntry>> *'

未调用 C++ vector 元素构造函数

c++ - 使用字符数组反转字符串

c++ - 为什么STL选择基于树的映射而不是基于散列的映射?

c++ - Eigen 与 OpenMP : No parallelisation due to false sharing and thread overhead

c - 指向指针的指针和指向二维数组的指针之间的区别

c - 分配内存块然后创建内存的逻辑子 block 并返回指向这些子 block 的指针

c - 在C中跨文件访问数组

c++ - 为什么我的程序有时只能正确识别数组中的最高值和最低值?

c - 使用双指针为结构内的动态结构数组分配内存**