回顾一下:
1. 指针
1.1 基本知识
指针变量——指针(存放地址的变量)
指针变量所占用的大小,与数据类型无关,跟编译器有关。(32位:4字节,64位:8字节)
1.2 指针的作用
作用1: 操作其他函数中的变量
作用2: 函数返回多个值
作用3: 函数的结果和计算状态分开
作用4: 方便操作数组和函数
1.3 指针的作数据类型
1.4 指针的运算
步长与指针的数据类型息息相关
1.5 野指针
野指针:指针指向的空间未分配
1.6 悬空指针
悬空指针:指针指向的空间已分配,但是被释放了
1.7 无类型指针
不同类型的指针是无法赋值的,void没有任何类型,可以接受任意类型指针记录的内存地址。
2. 二级指针
指向指针的指针为二级指针,二级指针可以操作以及指针记录的地址。
3. 数组指针和指针数组
4. 函数指针和指针函数
函数指针:指向一个函数的指针,
int add(int a , int b)
{return a+b;
}int main(void)
{int (*ptr)(int,int) = &add;return 0;
}
指针函数:一个函数的返回值是一个指针的函数
int * abc(void)
{}