打印字符数组的地址

2022-01-12 00:00:00 char c++ cout ostream
int *i = new int(1);
cout << i << endl; 

将打印整数的地址.

    char *c="cstring";
    cout << c << endl;
    cout << &(*c) << endl;

都将打印cstring".我想这种行为可以简单地用 ostream& 的实现来解释.运算符<<(ostream& out, const char* s ); 在 IOstream 库中.

Will both print "cstring". I guess this behavior can simply be explained with the implementation of ostream& operator<< (ostream& out, const char* s ); in the IOstream Library.

但是如果你真的想打印 c 引用的数据的地址怎么办?

But what to do if you actually want to print the address of the data c refers to?

推荐答案

cout << reinterpret_cast<void*>(c) << endl;

或者只是

cout << (void*)c << endl;

相关文章