指针的理解(3)

1.字符变量:在指针的类型中,我们知道有一种指针类型为字符指针char*,一般使用:

35943a580bbe43fa84e93807dba413a2.png

 2.数组指针变量:指针数组是一种数组,数组中存放的是地址(指针),而数组指针变量是指针变量,整型指针变量int*p存放的是整形变量的地址,能够指向整型数据的指针。浮点型指针变量float*y存放浮点型变量的地址能够指向浮点型数据的指针。数组指针变量存放的是数组的地址,能够指向数组的指针变量 。数组指针变量如下:

675147affd044f1080461832217df1fd.png

 解释: P首先和*结合,说明p是一个指针变量,然后指针指向的是一个大小为10个整形的数组,所以p是一个指针指向一个数组,叫数组指针,这里需要注意的是,[]的优先级高于*的,所以必须加上括号来保证p先与*结合。

3.数组指针变量的初始化:如果要存放数组的地址,就得存放在数组指针变量中,如下:

03c5ba431f70448aa6a093584752cdf5.png

 数组指针类型解析:

8352d4b8e0e6499fbf07f1774428969f.png

 4.二维数组传参的本质:实参是二维数组,形参也写成二维数组的形式。因为二维数组其实可以把每个元素看做是一维数组的数组,也就是说二位数组的每个元素是一个一维数组(一行),那么二维数组的首元素就是第1行是一个一维数组,根据数组民事数组首元素地址这个规则,二维数组的数组名表示的就是第1行的地址,是一维数组的地址。这就意味着二位数组传参本质上也是传递了地址,传递的是第1行这个一位数组的地址。二维数组传参,形参部分可以写成数组,也可以写成指针形式。

5.函数指针:函数指针变量是用来存放函数地址的,可以通过地址能够调用函数。函数名就是函数的地址,也可以通过&函数名的方式获得函数的地址。函数指针变量的写法其实和数组指针非常类似,如下:

4696a7d8f4be4ca29dc6e6e845cf45f9.png

 函数指针类型解析:

e10d88e4a56f4c0ea5f40baf9b201278.png

 6.函数指针变量的使用:

675ebdf754294123ab5656c607961c17.png

 7.函数指针数组:把类型相同的函数的地址存放到一个数组中,那么这个数组就叫函数指针数组,如下:

859c618833fd44d2868f23739cbdcecf.png

 prr1先和[]集合,说明parr1是数组。数组的内容是int(*)()类型的函数指针。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值