如何在 c++ 中获取指向 char[] 的指针的内存地址
How to get the memory address of a pointer to a char[] in c++
完全披露:这是家庭作业。我只是对一部分感到非常困惑。我在 c++ 程序中有以下代码:
char * charArray = new char[100];
//fill charArray
char c = '.';
for(int i=0; i<100; i++)
{
charArray[i] = c;
c = c + 1;
}
cout <<"Char Array: " << endl;
for(int i=0; i<100; i++)
{
cout << "Type: Char @ " << &charArray[i] << " = " << charArray[i] <<endl;
}
在我的程序的不同点,我有几乎完全相同的代码,但不是字符数组,而是浮点数组。当我打印出浮点数组时,我得到类型:浮点@什么出现到BeAProperMemoryAddress = correctFloat#。
但是,尽管字符正确,但地址似乎并非如此。字符数组的地址如下所示:./0123456789<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_ abcdefghijklmnopqrstuvwxyz{|}~??????????????????
/0123456789<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_
abcdefghijklmnopqrstuvwxyz{|}~??????????????????
....一直到???
因此,显然,我没有得到地址,而是得到了不同程度的数组内容。我很困惑,任何指示将不胜感激。这是我第一次接触 c++。
因为&charArray[i]
仍然是指向字符串第 i 个字符的char*
。所以它被用作整个字符串。尝试投射如下:
(void*)&charArray[i]
这与:
(void*)(charArray+i);
相关文章:
- CUDA:统一内存和指针地址的更改
- 是否可以仅通过将分配的指针地址存储在C++中来分析内存?
- 向指针地址添加 20 个字节偏移量
- 如何理解智能指针的底层指针地址?
- 初学者问题:C++指针/地址 - 和变量之后不是以前?
- 返回数组中值的指针地址
- C++向指针地址添加 4 个字节
- 指针地址的内存偶尔更改了函数前和后返回
- 如何根据指针地址获取指针内容
- C++ 将指针地址传递给函数
- 直接从指针/地址访问数组的元素
- 如何在没有作弊引擎的情况下从其他应用程序获取指针地址?
- 如何保存指针地址,以便另一个指针可以继续处理它
- 间接寻址运算符如何返回带有运算符重载的指针地址
- 使用已删除的指针地址.据我所知,
- 如何保护类外用户可以修改的指针地址?C++
- 多个调用构造函数将更改C 中的成员指针地址
- 类对象指针的向量:如何在指针地址获得价值?C 和SDL_RECT
- Visual Studio C 2K15-在指针地址上获取错误
- 指针地址和参考混乱