这里只是一个测试原型(prototype):

#include <iostream>
#include <string>
using namespace std;

int main()
{
   int a=10;
   char b='H';
   string c="Hamza";

   cout<<"The value of a is : "<<a<<endl;
   cout<<"The value of b is : "<<b<<endl;
   cout<<"The value of c is : "<<c<<endl<<endl;

   cout<<"address of a : "<<&a<<endl;
   cout<<"address of b : "<<&b<<endl;
   cout<<"address of c : "<<&c<<endl;

   return 0;
}

为什么字符类型的变量'b'的地址不打印?

最佳答案

代码中的 << 运算符在 C++ 11 中被重载。它与任何其他类型(如 intstring )都不冲突,但它需要指向 char 的指针,如果使用它会产生不希望的结果。

你可以这样做:-

cout << static_cast<void*>(&b)

关于c++ - 字符类型变量地址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20032866/

10-13 05:02