经典回顾 之 指针:
指针 ---> 地址
指针 ---> 指针类型
指针定义 ---> 基类型 *变量名
定义时的* 代表定义的是指针类型的变量
int *p,*q; //p与q都是指针类型的变量
连续定义指针变量时需要在变量名前加上*
1.指针变量的 大小 :64位(8字节) 32位(4字节)
2.指针类型 --- 存储的是地址类型的数据
int *p; ---> 野指针
指针的核心用途:
被调修改主调!!
指针 + 一维整型数组
int a[10];
int *p = a;
//1.数组本身的特点(连续性,单一性,有序性)
//2.p+1 --- 偏移了一个基类型
同一类型的指针才能做减法运算
指针不能做加法运算
迭代与递归
快速排序法:
step1:
选一个基准值//a[0]
step2:
从右边开始找,找比基准值小的值
step3:
从左边开始找,找比基准值小的值
step4:
交换找到的值
step5:
重复2~4步骤,直到begin与end相遇
step6:
此时将相遇位置上的值 与 基准值 交换
step7:
针对小、大的一部分 分别继续快速排序递归调用
编写Puts(const char *s)函数
const char *p 可以用来保存字符串常量所在的地址
常量const前缀的好处?
1.可以接受 字符数组名
提高了参数的适用性
2.避免了 可能出现的修改的错误
可以将 运行时的错误,提前到 编译时发现