一.通过指针引用多维数组
1.多维数组的地址
int a【2】【3】 = {{1,2} ,{3,4} ,{5,6}};
从二维数组的角度看,a代表二维数组首个元素的地址,现在首元素不是一个简单的整形数组二十由四个整型元素组成的一维数组,则a代表的是首元素的起始地址。a + 1代表序号为1的行的起始地址。
二维数组有关的指针
二.指向函数的指针
1.什么是函数的指针
在程序中定义一个函数,在编译时把函数的源代码换为可执行代码并分配一段内存空间。这段内存空间有一个起始地址,称函数的起始地址。函数名代表函数的起始地址。
可以定义一个指向函数的指针变量,用来存放函数的起始地址如
int (*p)(int int)
2.怎样定义和使用指向函数的指针变量
类型名(*指针变量)(函数参数表列)
1.定义指向函数的指针变量,他只能指向在定义时指定的类型的函数。
2.要用指针调用函数,必须先使指针变量指向该函数。
3.用函数指针变量调用函数时,只需将(*p)代替函数名即可(p为指针变量),在(*p)之后括号中根据需要写实参。
三.指向数组的指针
偏移量是sizeof基类型
四.指向指针的指针
1.什么是指针数组
一个数组。其元素均为指针类型数据称为指针数组。
int * p【4】 ; 指向一维数组的指针变量
定义一维指针数组一般形式为
类型名* 数组名【数组长度】
2.指向指针数据的指针变量
char **p; 定义一个指向指针数据的指针变量
注意:要修改哪个变量的值要传它的地址
修改后为
补充:
提高程序的耦合性
排序