#include<iostream>
using namespace std;
//1、指针的算术:
// 将一个整型变量加1后,其值将增加1。
// 但是,将指针变量(地址的值)加1后,增加的量 等于 它指向的数据类型 的 字节数。
//
// 2、数组的地址
// 2.1 数组在内存中占用的空间是连续的。
// 2.2 C++将数组名解释为数组第0个元素的地址。
// 2.3 数组第0个元素的地址和数组首地址的取值是相同的。
// 2.4 数组第n个元素的地址是:数组首地址 + n
// 2.5 C++编译器把 数组名[下标] 解释为 * (数组首地址 + 下标)
// [] 被解释成 *
// 当指针后面加[下标]被解释为*(指针+下标):p[10] 被解释为*(p+10)
//
// 注意:1 用sizeof的时候就不是把 数组名 解释成 地址 了,sizeof关键字是返回整个数组占用内存空间
// 2 可以修改指针的值,但数组名是常量,不可修改
// 3、数组的本质
// 数组是占用连续空间的一块内存,数组名被解释为数组第0个元素的地址。
// C++操作这块内存有两种方法:数组解释法和指针表示法,它们是等价的。
//
int main(void)
{
int a[3] = {1,2,3};
int* p = a;
cout << p[1] << endl;
return 0;
}