把“abcdef”字符数组首地址赋给p,因为“abcdef”是一个字符串常量,存储在常量区,常量区存储的东西是不能够被修改的。在存储器的栈区产生一个指针变量p指向常量区的字符串“abcdef”,所以后面不能通过指针来修改该字符串。解引用是直接修改常量区的值,不被允许,我们说把变量值更换其实是更换了变量的引用指向新的地址,原先的地址依旧保留内存值
数组指针
二维以上数组指针才方便
int(*)[5]代表元素类型prr3是一个数组,数组里面存放int(*)[5]的数组指针。从外到内去看
函数传参
函数指针
p存放函数地址,*p解引用调用函数
函数调用,*仅仅是语法上理解更方便一些而已,实际上写0个、多少个都是没意义的
函数指针数组
函数指针数组实现计算器
计算器改进(函数指针数组也叫转移表)
传入不同函数地址(函数地址指针变量),实现不同功能。
指向函数指针数组的指针
回调函数就是通过函数指针调用的函数,print()就是回调函数
汇总
qsort()实际上是针对冒泡排序 arr [ j ] 的部分进行函数封装