- 指针是一个是指向某一对象的地址
- 论int * p中的* p 和p
- *p是一个指针,是一个地址
- p是一个指针变量,
- 一级指针:int * p;
- 二级指针:int * * p;
- 解除指针:&(取地址)
- 指针的大小:64位:4个字节
- 二级指针是指向以及指针的地址
- 关于const修饰指针
- Const int * p; //常量指针(const 修饰int *,不是修饰 p)
- 常量指针的指向可以修改,但是指针指向的值不可以修改
- Int * const p ; //指针常量(const修饰的是指针变量,指针变量的值不可以改,但是可以修改指针指向的地址)
- Const int * const p ;都不可以修改
数组array(vector)(容器)
- 一维数组:arr[ ]
- 二位数组: arr [ ] [ ];
- 数组的首地址(arr【0】)
- 数组的存储方式:数组存储在静态存储区(堆区)
- 数组与指针的关系
每个数组元素都有一个地址,每个元素对应唯一的下标,下标范围为0 - n
- 数组的定义
- 数组是相同类型数据的有序集合
- 数组描述的是相同类型的若干个数据,按照和一定的先后次序排列组合而成的
- 每个数据成为数组元素,每个数组元素可以同过一个下标来访问他们
- 特点
- 长度固定 ,内存大小不可改变
- 元素必须相同的数据类型
- 数组可以是而已类型,包括基本类型和引用类型
- 数组变量是引用类型,数组也可以看做对象,数组中每一个元素相当于成员变量,数组本身是对象,本身在堆之中
- 应用
- 循环
- 做参数(形式参数)
- 作为返回值
- 初始化数组
- 静态初始化:int arr[ ] = { 1, 2, 3, …}
- 动态初始化:int arr[ ] = new int [ sizeof()];