关于C++几种关于字符串地址输出问题

#include<iostream>
using namespace std;
void main()
{
char *a="STR";
cout<<&a<<endl;//这里输出的是地址
printf("%d\n",a);
printf("%p\n",&a);//这样输出的也是地址
printf("%0x\n",a);
}
请问我没标记的注释的两个输出的是什么 刚刚回答问题看到的 ,我也没看明白是什么,但是好像和地址有着某种关系,实在不解

按着C/C++的语法:
a是个字符串指针,指向"STR"的首地址,即S的地址;
而&a是a这个指针的地址!
所以,4个输出中1,3是同一个值;2,4是同一个值,这两个值是不同的!追问

那2 4代表的是什么值 随机数吗?

追答

不是,是由链接器在链接目标代码的时候确定的!因为是常量的指针!

追问

好的 谢谢

温馨提示:答案为网友推荐,仅供参考
相似回答