#include <iostream>
using namespace std;
int main(){
char c;
//数组在c++里面可以被称为数组指针 而且指针可以做运算
int a[5] = {1, 2, 3, 4, 5};
//如果换成char数组的话 每个变量地址差的就是1了因为每个char变量是1字节
cout << (void*)&c << endl;
cout << a << endl;//a其实就是c的下一个地址
//char数组直接输出会输出字符串 所以要加强制转换
// cout << (void*)a << endl;
for(int i = 0; i < 5; i++){
cout << (void*)&a[i] << endl;
}//每次运行程序的地址可能都不一样
//为什么是00 04 08 0c 10因为int的每一个变量 都是4个字节
//00到 04是a[0] 04到08是a[1] 08 到0c是a[3] 0c到10是a[4]
//所以我们可以发现数组就是个指针 这个指针的值就是数组当中第一个变量的地址
//因为要支持这个随机索引所以不管是在栈空间和堆空间中 数组的地址都是连续的一段
return 0;
}