指针概念:
地址 内存单元的编号
1. 指针 就是 地址
2. 指针 也是一种数据类型
指针类型
这种数据类型 是专门用来处理 地址 这种数据
指针变量定义 :
数据类型 变量名
语法:
基类型 * 指针变量名
(1)基类型
//数据类型
整型
浮点型
字符型
数据类型
指针类型
....
//结构体类型 ,函数类型
作用:
表示该指针类型 所指向的内存空间 存放什么类型的数据
(2).*
//定义时,表示此时定义的是一个 指针类型 的变量
(3).指针变量名
//符合标识符命名规则
int * p; //pointer
int a = 10; //a所在的空间是用来存放 int(整型)类型的数据的
float b = 10;
int *p = &a;
int *p = &b; //数据有误
&a //表示获得a所在空间的首地址
//表示 获得了一块 可以存在int型数据的内存空间的地址
指针类型 :
int *p; //int * ---整体叫指针类型
数据类型 变量名;
int* p;
//int* 含义 首先表示是一个 指针类型
//表示指向int型数据的指针类型
指针变量的引用
int a = 10;
int *p = &a; //p指向a ---因为p中保存了a的地址
* //指针运算符
//单目运算
//运算对象 --- 只能指针(地址)
*p //表示访问 p所指向的 基类型的 内存空间
*p //间接访问
//通过a访问的 -- 直接访问
step1: 首先拿出p中地址,到内存中定位
step2: 偏移出sizeof(基类型)大小的一块空间
step3: 将偏移出的这块空间,当做一个基类型变量来看 //*p运算完的效果
*p //运算效果 相当于就是一个基类型的变量
*p <=> a
int a; //
a 的数据类型 int
&a 的数据类型 int* //地址这种数据---对应到一种数据类型 --指针类型
//
float b;
&b //float*