一、指针是什么(地址形象化)
二、多级指针
三、野指针
四、内存分配方式
malloc、calloc 、realloc 和free
概述
一、指针是什么
1、指针是一种数据类型,可以定义变量,保存的内容是地址
2、指针的作用
指针保存的是地址,通过指针变量可以操作地址,即可直接操作寄存器地址,从而实现直接访问硬件,这是C语言与其他语言最大的不同。
3、指针的大小
因为地址是固定的长度,所以指针变量的长度也是固定的,系统位数的决定指针变量的字节长度,64位系统地址指针变量长度为8字节,32位系统指针变量长度为4字节
4、为什么指针的字节长度固定了还要定义不同的类型
因为指针的地址属性———步长(做加1操作所移动的字节数),不同类型的指针变量保存不同步长的地址。
地址+操作数=地址
5、直接访问和间接访问
变量内保存内容,指针通过保存变量的首地址来间接访问变量的内容
6、*和&
* 指针标识符 间接运算符 & 取地址符
*p=a =》p=&a 相当于逆运算,&是内容向外取地址,*是地址向内取内容
7、指针的定义方式
int a;int