指针和数组
指针和一维数组
一维数组名
一维数组名是个指针常量
它存放的是一维数组第一个元素的地址
下标和指针的关系
如果 p是个指针变量,则 p[i] 永远等价于 *(p+i)
确定一个一维数组需要几个参数【如果一个函数要处理一个一维数组,则需要接收该数组的哪些信息】
需要两个参数:
数组第一个元素的地址(一定要定义成指针类型)
数组的长度
指针变量的运算
指针变量不能相加, 不能相乘,也不能相除也不能相减
如果两个指针变量指向的是同一块连续空间中的不同存储单元,则这两个指针变量才可以相减
指向数组的指针的自增
int a[5];
int *p = a;
++p 递增指针p指向下一个数组元素,然后用*p取得元素的值
不能用a++或者++a把指针指向下一个数组元素,因为数组名是指向数组首元素的指针常量,指针a只能指向首元素的起始地址,不可以指向其他元素