数组变量地址和简单变量地址有什么不同?

时间:2014-11-17 19:04:48

标签: arrays variables

我想知道简单变量和数组元素变量的分配地址机制。

例如:

#include<iostream>
using namespace std;
void main()
{
     int a;
     int b;
     int x[2];
     cout<<&a<<endl<<&b<<endl;
     cout<<&x[0]<<endl<<&x[1]<<endl;
}

我的结果是:

0113F788
0113F77C
0113F76C
0113F770

如果我们将变量a和b(&amp; a-&amp; b)的两个地址分别为:C

如果我们x [1]的子地址和x [0]结果是:4

有什么区别?

抱歉,我的英文解释不好。

1 个答案:

答案 0 :(得分:1)

这很简单。

对于变量,编译器不在内存中分配连续的值。

对于数组,编译器在内存中分配连续值。所以在C ++中,您可以通过将指针的内存位置增加一个来通过指针访问所有数组元素!