高级指针

1.指针数组
形式:char *arr[4]
定义了一个arr数组,而数组里存放的每个元素的类型是一个指向字符/字符串的指针。
理解char *arr[i]   char *(arr[i])是一样的,因为[]优先级高于*

2.数组指针

形式char (*arr)[4]
表示一个指针,并且指向“一个有4个char型元素的数组


3.函数指针:
定义:函数指针是指向函数的指针变量。
形式例:int (*str)(int x, int y);//指针str指向有x和y

两个参数的函数。
返回值类型: ( * 指针变量名) ([形参列表]);
注意:指向函数的指针变量没有++和--运算

4函数指针数组

形式:void test(char* str)

例:void (*arr[5])(char*)//arr[5]中存放的是指针,指向每个指向函数的指针,函数中的参数是char*,返回值为void型。

注意:本质是数组,数组里存放的是函数指针。

5.指向函数指针数组的指针
 形式:void test(char* str)
例:void (*(*str)[5])(char*)=&test     //取地址代表是指针
//str是一个指针,指向一个含有5个元素的数组,数组存放的每一个元素为函数指针
注意:指向函数指针数组的指针本质为指针,这个指针指向一个函数指针数组,这个数组中的元素是函数指针函数参数是char*,返回类型是void型


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值