1.概念
指针是一种数据类型,是一种保存地址的数据类型
int是一种数据类型,是一种保存整数的数据类型
float是一种数据类型,是一种保存浮点数的数据类型
char是一种数据类型,是一种保存字符的数据类型
2.什么是地址
内存分配的最小单位是字节,每一个字节都有一个编号,我们把这个编号就叫做地址
地址的本质:内存单元的编号
指针:指针就是地址
指针的本质:内存单元的编号
3.定义
存储类型 数据类型 *指针变量名;
int *p;
存储类型:auto、static、extern、register
数据类型:指针所指向的数据类型
指针数据类型:数据类型 * // int *
简单代码
注意:
- 指针赋值的时候要注意数据类型匹配
- 指针的指向是可以改变的
4.什么是指针变量
int a;//整型变量
int *p;//指针变量
指针变量:专门用来保存地址的变量
注意:
在所有的32OS中,所有的指针占4个字节
在所有的64OS中,所有的指针占8个字节
5.空指针
没有指向的指针(值为0的指针,就认为该指针没有指向)
注意:0号地址禁止操作
要操作就得改变指向
6.野指针
不知道指向哪里的指针
局部变量没有初始化,其值为随机值
局部指针变量没有初始化,就是野指针