指针是C语言中一个重要概念,
也是C语言的一个重要特色。
通过地址能找到所需的变量单元,
因此,地址指向该变量单元,
这个地址可以形象化地称为“指针”。
01
指向变量的指针
![fd573674d56bdc445aa970e463404b27.png](https://i-blog.csdnimg.cn/blog_migrate/7157728e60bc9c81d6111b250cb39b58.png)
1.定义一个指向变量的指针
类型名 *指针变量名
2.取址运算符和取值运算符
获取某个变量的地址,需要使用取址运算符(&);
访问指针变量指向的数据,需要使用取值运算符(*);
如:
int a;
int *p=&a;(或 int *p;p=&a;)
其中:p是a的地址*p是a的值
ps:要避免访问未初始化的指针,需要定义空指针。
02
指向数组元素的指针
![ed83765e6c96d0d501b81c93310b52a1.png](https://i-blog.csdnimg.cn/blog_migrate/297b21e5d8e7bb73a273d190c0689419.png)
定义一个指向数组元素的指针
int a[5]={1,2,3,4,5};
int *p=a;(或int *p=&a[0];)
其中:
p是a[0]的地址
p+i是a[i]的地址
*p是a[0]的值
*(p+i)是a[i]的值
03
指向一维数组的指针
前面讲到一维数组和二维数组的区别时,提到&