0%

C 指针

指针,是 C 语言中的一个重要概念及其特点,也是掌握 C 语言比较困难的部分。

指针也就是内存地址,指针变量是用来存放内存地址的变量,指针描述了数据在内存中的位置,标示了一个占据存储空间的实体,在这一段空间起始位置的相对距离值

如何定义一个指针

1
int *p;

指针变量的引用

&: 取地址符,取变量的地址

*: 指针运算符(间接访问运算符)

一个指针变量,除了在定义的时候,其他情况下 p 就是地址,*p 就是地址所对应的变量的值

例:

1
2
3
4
5
int a = 10, *p;

p = &a;

printf("%d,%d", a, *p);

输出结果:10,10

多级指针

1
int a , *p = &a;

若使 q = &p;

则 q 是指向指针变量的指针变量,称 q 为二级指针

同样可以有三级、四级指针,二级以上(包含二级)的指针被成为多级指针

1
2
3
4
5
int a = 5, *p, **q;

q = p; // q 拿到的是 p 的值,a 的地址
q = &p; // q 拿到的是 p 的地址

欢迎关注我的其它发布渠道