C语言指针解引用
解引用(dereference)就是:通过指针找到它指向的那个“东西”
在 C 语言里用*表示。
一、最简单例子
int a = 10; int *p = &a;这里:
p 存的是 a 的地址解引用意思是:顺着 p 这个地址,找到 a
*p 顺着 p 这个地址,找到 a二级指针解引用(重点)
int a = 10; int *p = &a; int **q = &p;*q 得到:p(一级指针)
三、再解一层(关键区别)
**q等价于
*p = a = 10四、总结层级
| 表达式 | 得到什么 |
|---|---|
q | 指向 p |
*q | p(一级指针) |
**q | a(值) |
五、用链表理解
struct Node** head;
那么:
1️⃣head
指向 main 里的 head
2️⃣*head
main 里的 head(第一个节点指针)
3️⃣**head
第一个节点本身
