指针就是地址,指针可以指向内存的任意一块地址。
指针变量是存储地址的容器
指针变量的定义格式:存储类型 数据类型 *指针变量名,其中未初始化指针称为野指针
如int *p=null
数组指针
数组指针本质是一个指针,指向数组的首地址,多用于传参和返回
格式:
存储类型 数据类型 (*指针变量名)[常量表达式]
指针数组:本质上是一个数组,存储多个类型相同的指针
定义格式:存储类型 数据类型 *指针变量名[常量表达式]
如int (*p)[12]
函数指针:
本质上是一个指针,指向函数的首地址,多用于回调函数,如数据库sqlite3的callback和线程的task,定义格式:存储类型 数据类型 (*函数指针变量名)(参数列表)