1.字符变量:在指针的类型中,我们知道有一种指针类型为字符指针char*,一般使用:
2.数组指针变量:指针数组是一种数组,数组中存放的是地址(指针),而数组指针变量是指针变量,整型指针变量int*p存放的是整形变量的地址,能够指向整型数据的指针。浮点型指针变量float*y存放浮点型变量的地址能够指向浮点型数据的指针。数组指针变量存放的是数组的地址,能够指向数组的指针变量 。数组指针变量如下:
解释: P首先和*结合,说明p是一个指针变量,然后指针指向的是一个大小为10个整形的数组,所以p是一个指针指向一个数组,叫数组指针,这里需要注意的是,[]的优先级高于*的,所以必须加上括号来保证p先与*结合。
3.数组指针变量的初始化:如果要存放数组的地址,就得存放在数组指针变量中,如下:
数组指针类型解析:
4.二维数组传参的本质:实参是二维数组,形参也写成二维数组的形式。因为二维数组其实可以把每个元素看做是一维数组的数组,也就是说二位数组的每个元素是一个一维数组(一行),那么二维数组的首元素就是第1行是一个一维数组,根据数组民事数组首元素地址这个规则,二维数组的数组名表示的就是第1行的地址,是一维数组的地址。这就意味着二位数组传参本质上也是传递了地址,传递的是第1行这个一位数组的地址。二维数组传参,形参部分可以写成数组,也可以写成指针形式。
5.函数指针:函数指针变量是用来存放函数地址的,可以通过地址能够调用函数。函数名就是函数的地址,也可以通过&函数名的方式获得函数的地址。函数指针变量的写法其实和数组指针非常类似,如下:
函数指针类型解析:
6.函数指针变量的使用:
7.函数指针数组:把类型相同的函数的地址存放到一个数组中,那么这个数组就叫函数指针数组,如下:
prr1先和[]集合,说明parr1是数组。数组的内容是int(*)()类型的函数指针。