C语言指针与函数参数全解析
1. 指针基础概念
指针在编程中可以类比为图书馆的目录编号或者房屋地址。在C程序里,指针指向计算机内存中数据的存储位置。就像我们管理DVD收藏时,可以创建指针列表,每个指针指向描述一张DVD的数据块,这些数据块包含电影名称、导演、发行年份和类别等信息。我们还能创建多个指针列表,分别按电影标题字母顺序、发行年份时间顺序或类别对DVD进行排序。
指针本质上是地址变量,计算机的内存由一系列字节组成,每个字节都有唯一的地址,地址从0开始依次递增。当运行程序时,计算机首先会为程序中的变量分配内存。例如,声明一个 int
类型的变量 myVar
:
int myVar;
编译器会为 myVar
预留专属的内存空间。通常,变量的地址指的是其第一个字节的地址。如果 myVar
占用的内存地址是836 - 839,那么它的地址就是836,长度为4字节。需要注意的是,当一个变量占用多个字节的内存时,这些字节在内存中是连续的。
2. 获取变量地址与指针变量声明
在C语言中,有两个特殊的运算符用于处理指针: &
和 *
。
- &
运算符 :也称为取地址运算符,它是一元运算符,与变量名结合使用可以得到变量的地址。例如: