指针是什么
指针是什么¶
很多同学记住了 int *p 这样的写法,但不知道 * 到底在干什么。
| 概念 | 包类比 |
|---|---|
普通变量 int a = 10、char b = 'x' |
a=10块钱,b=一本叫'x'的书 |
指针变量 int *p |
一张纸条,上面记着某个包的位置 |
*p |
根据位置p |
代码示例:
int a = 10; // 一堆钱,共 10 块钱
char b = 'x' // 一本叫'x'的书
int *p = a; // 一张纸条,记录的是钱的位置
char *q = b; // 一张纸条,记录的是书的位置
struct LNode *r = NULL; // 一张纸条,记录的是包的位置

[!note] 转录批注(非原文) 原讲义此处写的是
int *p = a;和char *q = b;,按 C 语言语义应为&a/&b。原样保留,做题时注意。