数组的地址是不是等于数组第一个元素的地址

数组的地址是不是等于数组第一个元素的地址,例如int a[3];cout<<a<<endl;就等于输出a[0]的地址是吗
怎样输出变量的地址例如int b;怎样输出b的地址

在java语法中,数组的地址等于数组第一个元素的地址。
一旦通过int[] intArray = new int[]{1,1,2}创建一个int类型的数组之后,就会首先在堆内存中分配三个连续的地址空间,第一个地址也便是数组指向的地址。
温馨提示:答案为网友推荐,仅供参考
第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 ;
}就这 样可以了本回答被提问者采纳
相似回答