【发布时间】:2020-12-30 15:11:35
【问题描述】:
我是 C++ 的新手,我的问题可能看起来很基础,但您的回答可以帮助我并帮助其他人。
我创建了 char 指针 myPointer1 和 myPointer2 所以
const char *myPointer1 = "Hallo";
const char* myPointer2 = myPointer;
我认为指针存储了它们指向的变量的地址。在这种情况下,我们只有一个变量“Hallo”,然后两个指针都应该指向同一个地址。 但是当我打印时:
cout << &myPointer1 << endl << endl;
cout << &myPointer2 << endl << endl;
结果是两个不同的地址:
009EFC00
009EFBE8
有人可以帮忙吗?
【问题讨论】:
-
您的意思是写:
const char* myPointer2 = myPointer1;?myPointer3是什么@您的演示代码中似乎缺少一些部分。 -
... 或者可能是拼写错误。请澄清。
-
@πάνταῥεῖ 你是对的,对不起,我的意思是 const char* myPointer2 = myPointer1;
-
myPointer1和myPointer2是不同的变量,所以它们有不同的地址 - 尝试cout << (&myPointer1 == &myPointer2);来验证。它们都具有相同的值 - 尝试cout << (myPointer1 == myPointer2);进行验证。
标签: c++ pointers char-pointer