高级指针1

本文详细解析了指针数组、数组指针、函数指针等概念的区别及应用。通过具体的示例代码,帮助读者理解这些复杂概念,并区分它们在实际编程中的不同用途。

1指针数组&数组指针

 Int*p[5];

Int (*p)[5];

首先第一个是指针数组,由于[]的优先级高于*,所p先和[]结合,因此首先它是一个数组,然后它里面放的是指针.

第二个是数组指针,由于()的优先级高于[],所以p先和*结合组成指针,指针指向该数组.

2函数指针

 Char *(*fun1)(char *p1,char *p2);

Char * *fun2(char p1,char p2);

第一个是函数指针,fun1是指针变量指向一个函数,这个函数有两个指针类型的参数。第二个是一个函数,fun2是函数名,参数为两个指针,返回值为 char 型二级指针。

3函数指针数组&指向函数指针数组的指针
函数指针数组:首先它是一个数组,数组元素为函数指针。(char *(* a[4])(char*p);它是一个数组,数组名为 a ,数组内有四个指向函数的指针;这个指针指向一些返回值类型为指向字符的指针,参数为指向字符的指针的函数。)

函数指针数组指针:首先它是一个指针,这个指针指向数组,这个数组里面存的都是指向函数的指针。(char (*(* a)[4])(char *p); 这个指针指向包含了4个元素的数组;这个数组里面存的是指向函数的指针;这个指针指向一些返回值类型为指向字符的指针,参数为指向字符的指针的函数。)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值