#include <iostream>
int main(int argc, char** argv)
{
float *f = new float[10];
std::cout << f << std::endl;
std::cout << f + 3 << std::endl;
char *c = new char[10];
std::cout << c << std::endl; // no print
std::cout << c + 3 << std::endl; // no print
return 0;
}
stdout
0x2b3cbaf1bc20
0x2b3cbaf1bc2c
如何打印char数组的地址?
答案 0 :(得分:4)
您需要转换为void*
以调用operator <<
的正确重载,而不是输出为C字符串
std::cout << static_cast<void*>(c) << std::endl;
std::cout << static_cast<void*>(c+3) << std::endl;