数据是存储在内存中的,而内存区的每一个字节都有一个编号,也就是地址。
什么是指针?
变量的地址就是指针,但指针无关变量的内容。
对于变量,我们可以这样访问:
- 直接访问
在编译时,已将变量名替换为地址,直接通过地址访问。
- 间接访问
将变量的地址存储在另一个变量中,通过另一个变量去寻找该变量内容。
指针变量
存储指针的变量也就是指针变量。
定义
一般形式:int *A;
- 对于指针变量名应该是A 而不是*A
- 必须指定指针变量的基类型,应为不同的变量在内存中空间大小不同,光知道首地址无法获取全部数据
- 指针变量指向的变量地址类型应该与基类型相同
- 指针变量只能存放地址
引用
& 取址运算符 获取变量的地址
“*” 指针运算符(间接访问运算符)用它访问指针指向的对象
引用指针变量有三种情况:
- 给指针变量赋值
int b = 1;
int* a;
a = &b;
- 引用指针变量指向的变量
printf("%d",*a);
*a = 0;
- 引用指针变量的值
printf("%o",a);