1. 首页
  2. 域名主机

C语言速博体育(指向函数的指针)详解

定义式type*func(type,type)如:int*max(intx,inty)(3)例子详解1.include2.usingnamespacestd;3.4.5.int*GetNum(intx);6.7.8.voidmain(void)9.执行结果如下:

,什么是指针?**定义**:指针是程序数据在内存中的地址,而指针变量是用来保存这些地址的变量;上面一个4GB的内存可以存放2^32字节的数据。

函数地址函数名就是函数的地址,例如:函数get_sum(),该函数的地址是get_sum而不是get_sum(),get_sum()为函数的返回值。

注意`()`的优先级高于`*`,第一个括号不能省略。

如:doublepam(int);double(*pf)(int);与pam()声明类似,这是将pam替换成了(*pf。

它早就想到了这一点,于是提供了一个auto关键字来解决这个问题。

声明函数类型**typedefint(typeFunc)(int,int)**【注】其中的typeFunc表示的是某种类型的函数看待该表达式的个人理解:因为()的运算符优先级高,因此该表达式可以写成typedef(typeFunc)int(int,int)来理解。

>那么怎么判断一个指针变量是指向变量的指针变量还是指向函数的指针变量呢?首先看变量名前面有没有*,如果有*>说明是指针变量;其次看变量名的后面有没有带有形参类型的圆括号,如果有就是指向函数的指针变量,即速博体育,如果没有就是指向变量的指针变量。

虽然这种方式比起直接调用的方式比更加的笨拙,但是其允许在不同的时间传递不同函数的地址,这意味着可以在不同的时间使用不同的函数。

还有从别的指针的定义可以直接看出指向的空间大小,而速博体育只能看出函数的返回类型。

其实如果理解了这些概念的本质,是不需要死记硬背的,理解起来也比较容易。

其实很简单,说白了,就是把上文中的p2用一个指针来代替。

评分 0, 满分 5 星
0
0
看完收藏一下,下次也能找得到
  • 版权声明:本文基于《知识共享署名-相同方式共享 3.0 中国大陆许可协议》发布,转载请遵循本协议
  • 文章链接:http://www.supreme-men.com/ymzj/28.html [复制] (转载时请注明本文出处及文章链接)
  • 本文无相关文章
上一篇:
:下一篇

发表评论

gravatar

沙发空缺中,还不快抢~