第1个回答 推荐于2016-01-03
这是在C++中输出字符数组的首地址。。。
#include<iostream>
using namespace std;
void main()
{
char str[]="hello";
cout<<&str<<endl;
}
如:
char a[10]="123";
cout<<&a<<endl;
输出的是常量指针a的地址!!!
而字符串数组的首地址应该是a[0]的地址,即a的值(内容)。
我们来分析一下,cout<<a<<endl;输出的是字符串的原因是cout对字符数组a进行了特殊处理,即没有输出a的值而是输出了字符串的内容。但,我们知道对于其他类型的数组,如:int b[10]。cout<<b<<endl;则会输出b的值,即b[0]的地址。
输出变量的地址方法如下:
#include<iostream.h>
int main()
{
int b = 2 ;
long d = (long)(&b) ;
cout <<d<<endl ;
return 0 ;
}就这 样可以了本回答被提问者采纳