C++输出字符型指针地址

it2024-11-07  6

C++标准库中I/O类对<<操作符重载,因此在遇到字符型指针时会将其当作字符串名来处理,输出指针所指的字符串。因此,我们用static_cast强制类型转换把字符串指针转换成无类型指针即可输出指针地址

#include<iostream> using namespace std; int main() { char *p="abc"; cout << p << endl;//"abc" cout << *p << ' ' << (void*) p << endl; cout << *(p+1) << ' ' << static_cast<void*>(p+1) << endl; cout << *(p+2) << ' ' << static_cast<void*>(p+2) << endl; return 0; }

输出如下

abc a 0x404001 b 0x404002 c 0x404003

最新回复(0)