定义变量后,系统将在内存中为其分配存储空间,变量在内存中具有唯一的地址,访问变量,其实就是访问变量存储空间的内容。
因此,访问变量内容有2种方式:
1 变量名
2 访问变量在内存中的地址(指针访问)。
一、变量在内存中的地址
将变量存储单元的起始地址定义为变量的地址。
变量存储空间、变量地址与变量内容的关系好比仓库、仓库号与货物的关系,可以将内存单元看成一个个的仓库,内存地址就是仓库的编号,在定义变量时就是“将某号仓库分配给某人使用”,而变量的内容就相当于仓库中的货物,在给变量进行赋值时相当于“将货物放到某号仓库”。
直接访问:通过变量名对变量内容进行访问。
间接访问:将变量的地址赋给另一个特殊的变量,并使用这个特殊的变量访问变量的内存单元,特殊变量称为指针。
二:指针的定义
指针:用来存放内存地址的变量。
定义方式如下:
类型 * 变量名1;
类型 * 变量名1, * 变量名2;
例如:
int *p1,*p2;
*表示变量p1,p2为指针变量,int 表示指针p1,p2所指的变量是一个整型变量。
指针变量的值只能是内存存在的一个地址,而不是一个任意的整数。
三、指针的引用
取址运算符 & :将变量的地址赋给指针变量。
char c=’A’; char *cp; cp=&c;
取值运算符 *