指针变量 在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。因此,一个指针变量的值就是某个内存单元的地址或称为某内存单元的指针。 注意: 严格意义上说,指针是一个地址,是一个常量 指针变量是存放一个地址,是一个变量。 定义一个指针变量 对指针变量的定义包括三个内容: 1)指针类型说明,即定义变量为一个指针变量; 2)指针变量名; 3)变量值(指针) 其一般形式为: 类型说明符 *变量名; 其中,*表示这是一个指针变量,变量名即为定义的指针变量名,类型说明符表示本指针变量所指向的变量的数据类型。 注意: 1)“*”,必须得有,如果没有就相当于定义了个普通变量 2)指针变量不能用来存放数值或字符之类的 3)指针变量,归根结底还是变量,也有全局和局部变量之分 指针变量的初始化方法 设有指向整型变量的指针变量p,如要把整型变量a的地址赋予p可以有一下两种方式: 1、定义的同时进行初始化 2、先定义后初始化 如果一个指针变量定义以后,不进行初始化,这个指针变量存放的是一个垃圾数,称之为野指针,一定要避免操作野指针,否则会发生不可预知的错误。 3、定义了一个指针变量,但是不知道让这个指针指向谁 int *p = NULL; int *p = 0; 多个指针可以指向同一个地址 指针的指向是可以变的 “*”的两种用法 1)用于定义一个指针变量 2)存取指针对应存储区域的内容 指针的应用场景: 1)在被调函数中可以修改主调函数中的变量的值 2)让函数有多个返回值
|