指针:
一.数值类型时
1.表现形式int *p = &a; 表示将p指针指向地址&a; 可通过*p访问a的值 通过不加指针符号访问a的地址及&a
2.**pp为二级指针 可以指向一个一级指针 p是一级指针:int **pp = &p 可通过**pp访问*p的值 通过pp 访问p的地址及&p;
3.指针存储的地址为存储单元的首个存储空间的地址 可通过指针加减来访问一个连续的空间;
二.数组类型时
1.数组名可以看成是一个指针 *arr访问的是数组第一个存储空间的值 *arr+1表示(*arr)的值加上一 *arr表示数组的第一个存储空间的内容 第一个存储空间第一个存储单元的地址 *(arr+1)标识访问第二个存储空间;
一.数值类型时
1.表现形式int *p = &a; 表示将p指针指向地址&a; 可通过*p访问a的值 通过不加指针符号访问a的地址及&a
2.**pp为二级指针 可以指向一个一级指针 p是一级指针:int **pp = &p 可通过**pp访问*p的值 通过pp 访问p的地址及&p;
3.指针存储的地址为存储单元的首个存储空间的地址 可通过指针加减来访问一个连续的空间;
二.数组类型时
1.数组名可以看成是一个指针 *arr访问的是数组第一个存储空间的值 *arr+1表示(*arr)的值加上一 *arr表示数组的第一个存储空间的内容 第一个存储空间第一个存储单元的地址 *(arr+1)标识访问第二个存储空间;
2.二维数组一级指针(arr[])指向行的存储空间地址 *arr指向第一行的一维数组 *(arr+1)指向第二行 二级(arr[][])*((*arr+i)+i)指向列的存储地址
内存关系图: