#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;
}