谭浩强《C程序设计》第五版 | 交互式教学演示
指针是C语言的精髓,正确和灵活地使用指针可以使程序更加高效。本章将深入学习指针的概念、定义、使用方法,以及指针与数组、函数的关系。
| 知识点 | 主要内容 | 重要程度 |
|---|---|---|
| 地址与指针概念 | 变量的地址、指针的含义 | ⭐⭐⭐⭐⭐ |
| 指针变量定义 | 指针变量的声明、初始化 | ⭐⭐⭐⭐⭐ |
| 指针运算 | 取地址&、间接访问*、加减运算 | ⭐⭐⭐⭐⭐ |
| 指针与数组 | 数组名是指针、指针数组、下标运算 | ⭐⭐⭐⭐⭐ |
| 指针与字符串 | 字符指针、字符串处理函数 | ⭐⭐⭐⭐ |
| 指针与函数 | 指针作为参数、返回指针、函数指针 | ⭐⭐⭐⭐ |
| 指向指针的指针 | 二级指针、多级指针 | ⭐⭐⭐ |
点击"播放演示"查看指针如何指向变量
每个变量在内存中都占用一定的存储单元,每个单元都有唯一的地址。指针就是变量的地址,通过指针可以间接访问和修改变量的值。
指针变量必须先定义后使用,定义时需要指定指针的类型。指针的类型决定了它能指向什么类型的数据。
指针是一种特殊的变量,支持有限的算术运算。指针运算主要用于遍历数组元素。
| 运算 | 含义 | 效果 |
|---|---|---|
| p + n | 指针加整数 | 向下移动n个元素的位置 |
| p - n | 指针减整数 | 向上移动n个元素的位置 |
| p++ / ++p | 指针自增 | 指向下一个元素 |
| p-- / --p | 指针自减 | 指向上一个元素 |
| p1 - p2 | 指针相减 | 两个指针间的元素个数 |
💡 int占4字节,所以p+1实际上增加了4个字节的地址
数组名在大多数情况下相当于指向数组首元素的指针常量。指针可以用于遍历和操作数组元素,这是C语言高效处理数组的基础。
指针使函数能够访问和修改外部变量,实现"传址调用"。函数也可以返回指针类型,实现返回数据的地址。