︶ㄣ痕迹の天涯 发表于 2014-3-16 20:51:40

指针函数与函数指针,一看必通

函数指针
函数指针是指向函数的指针变量。 因而“函数指针”本身首先应是指针变量,只不过该指针变量指向函数。这正如用指针变量可指向指针变量后,可用该指针变量调用函数,就如同用指针变量可引用其他类型变量一样,在这些概念上是一致的。函数指针有两个用途:调用函数和做函数的指针变量名) (指针变量名 )”中的括号不能省,若省略整体则成为一个函数说明,说明了一个返回的指针变量,所以可把函数max()赋给ptr作为ptr的值,即把max()的入口地址赋给ptr,以后就可以用ptr来调用该函数,实际上ptr和max都指向同一个入口地址,不同就是ptr是一个指针变量,不像函数名称那样是死的,它可以指向任何函数,就看你想怎么做了。在程序中把哪个函数的地址赋给它,它就指向哪个函数。而后用指针变量调用它,因此可以先后指向不同的函数。不过注意,指向函数的指针变量没有++和--运算,用时要小心。
指针函数
指针函数,指针函数是指带指针的函数,即本质是一个函数。函数都有返回类型(如果不指针变量的值,不过这时的变量是函数本身而已,而整个函数相当于一个“变量”。例如下面一个返回指针函数的例子:
#include <stdio.h>
float *find(float(*pionter),int n);//函数声明
int main(void)
{
   static float score[]={{60,70,80,90},{56,89,34,45},{34,23,56,45}};
   float *p;
   int i,m;
   printf("Enter the number to be found:");
   scanf("%d",&m);
   printf("the score of NO.%d are:\n",m);
   p=find(score,m-1);
   for(i=0;i<4;i++)
         printf("%5.2f\t",*(p+i));

   return 0;
}

float *find(float(*pionter),int n)/*定义指针函数*/
{
   float *pt;
   pt=*(pionter+n);
   return(pt);
}共有三个学生的成绩,函数find()被定义为指针函数,其指针变量。pointer+n指向score的第n+1行。*(pointer+1)指向第一行的第0个元素。pt是一个指针变量,它指向数组的首地址传给pointer.
**** Hidden Message *****
**** Hidden Message *****


糖心 发表于 2014-3-16 21:15:45

再过两天就学这个了{:1_1:}

Jany 发表于 2014-3-16 21:29:13

向大师好好学习

谓我心忧 发表于 2014-3-16 22:25:36

学无止境,咱来瞅瞅!~

qaed 发表于 2014-3-16 22:35:10

我也要学!!!!:big:big:big:big:big

︶ㄣ情義メ华 发表于 2014-3-16 23:58:37

支持支持支持

qidaoshen 发表于 2014-3-17 00:43:46

支持一下!

orangepeach 发表于 2014-3-17 08:28:53

支持支持支持~

egbert 发表于 2014-3-17 08:55:48

学习一下 看看啊

shiju007 发表于 2014-3-17 09:02:52

学习一下{:1_1:}{:1_1:}

蒲公英花开 发表于 2014-3-17 09:05:44

更看不懂了    彻底懵了

807384923 发表于 2014-3-17 12:23:14

感谢楼主无私奉献!!

沉思的牛 发表于 2014-3-17 12:25:35

你看后面两个字就明白了   
指针函数是函数
函数指针是指针

HB无影 发表于 2014-3-17 13:44:43

学习了!!!

饭团团 发表于 2014-3-17 14:10:59

{:1_1:}指针不好懂

︶ㄣ痕迹の天涯 发表于 2014-3-17 21:31:28

糖心 发表于 2014-3-16 21:15 static/image/common/back.gif
再过两天就学这个了

加油,,,,,

︶ㄣ痕迹の天涯 发表于 2014-3-17 21:32:16

qaed 发表于 2014-3-16 22:35 static/image/common/back.gif
我也要学!!!!

加油啊,指针刚开始确实不太好用

︶ㄣ痕迹の天涯 发表于 2014-3-17 21:33:45

蒲公英花开 发表于 2014-3-17 09:05 static/image/common/back.gif
更看不懂了    彻底懵了

说白了就是指针函数是函数,这个函数返回的是指针,而函数指针是一个指针,它指向一个函数

︶ㄣ痕迹の天涯 发表于 2014-3-17 21:34:19

沉思的牛 发表于 2014-3-17 12:25 static/image/common/back.gif
你看后面两个字就明白了   
指针函数是函数
函数指针是指针

是的,就是这样,,,,,

清明 发表于 2014-3-17 21:43:02

看的有点发晕。。。
页: [1] 2 3 4 5 6 7 8
查看完整版本: 指针函数与函数指针,一看必通