指针,是 C 语言中的一个重要概念及其特点,也是掌握 C 语言比较困难的部分。
指针也就是内存地址,指针变量是用来存放内存地址的变量,指针描述了数据在内存中的位置,标示了一个占据存储空间的实体,在这一段空间起始位置的相对距离值
如何定义一个指针
1 | int *p; |
指针变量的引用
&: 取地址符,取变量的地址
*: 指针运算符(间接访问运算符)
一个指针变量,除了在定义的时候,其他情况下 p 就是地址,*p 就是地址所对应的变量的值
例:
1 | int a = 10, *p; |
输出结果:10,10
多级指针
1 | int a , *p = &a; |
若使 q = &p;
则 q 是指向指针变量的指针变量,称 q 为二级指针
同样可以有三级、四级指针,二级以上(包含二级)的指针被成为多级指针
1 | int a = 5, *p, **q; |