【指针的类型】

short*  int*  long*  char*  double*  …

指针的类型决定了指针向前或向后一步的步长(距离),其步长对应类型的大小。

【指针的解引用】

指针类型决定了对指针解引用的时候有多大的权限(能操作几个字节)。比如char的指针解引用就只能访问1个字节,而int的指针解引用就能访问4个字节。

【野指针】

野指针就是指针指向的位置是不可知的(随机的、不正确的、没有明确限制的)。

野指针的原因

  1. 指针未初始化
  2. 指针访问越界
  3. 指针指向的空间被释放

【指针运算】

  • 指针 +- 整数
  • 指针 - 指针
  • 指针关系的运算

【指针和数组】

指针用来存放数组的数组地址,可以通过指针来操作数组的元素。

【二级指针】

指针 指向指针指向的数组地址(如int** a…)。

【指针数组和数组指针】

指针数组:存放指针的数组

数组指针:指向数组地址