指针内容复习,数组指针,指针数组,函数指针,qsort冒泡排序_一维数组

指向数组的首元素地址的指针,解引用并再进行调用操作

*pa == arr

p  == arr

指针内容复习,数组指针,指针数组,函数指针,qsort冒泡排序_一维数组_02

指针内容复习,数组指针,指针数组,函数指针,qsort冒泡排序_函数指针_03

二维数组传参,可使用数组指针,指向第一个一维数组

int (*) [5]    数组指针类型

指针内容复习,数组指针,指针数组,函数指针,qsort冒泡排序_函数指针_04

数组,指针数组,数组指针,每个元素是数组指针的数组

指针内容复习,数组指针,指针数组,函数指针,qsort冒泡排序_数组指针_05

以上全部都是ok,二维数组arr【3】【5】,中arr为第一个一维数组的地址

故可以使用int *arr,指针类型接收

也可以使用指针数组接收一维数组的五个元素对应的地址

也可以使用数组指针接收对应一维数组的地址

也可以使用二级指针接收,指针指向一维数组的地址

指针内容复习,数组指针,指针数组,函数指针,qsort冒泡排序_函数指针_06

函数指针的使用


指针内容复习,数组指针,指针数组,函数指针,qsort冒泡排序_函数指针_07

函数指针的用法之一,减少代码重复,简化代码。

指针内容复习,数组指针,指针数组,函数指针,qsort冒泡排序_函数指针_08

模仿<stdlib.h>文件中的qsort排序函数,写一个可以排列多种类型数据的冒泡排序函数。写函数的思路,void*空指针接收任何类型的

地址传入,知道元素宽度之后,强制转换成char*类型,加上元素宽度后跳过组内元素进行操作。

指针内容复习,数组指针,指针数组,函数指针,qsort冒泡排序_数组指针_09

函数指针的复杂案例,函数指针类型的typedef重定义方式。typedef  void (*pfun_1) (int)