函数指针和指针函数的区分

来源:互联网 发布:自己拍电影知乎 编辑:程序博客网 时间:2024/06/12 12:28

函数指针是个指针,它指向某一个具体函数或某一类函数。指针函数是个返回值为指针的函数。下面通过具体例子分析二者:


函数指针:

#include <stdio.h>




typedef int (*func)(int a,int b);


int add(int a,int b)
{
return (a+b);
}


int sub(int a,int b)
{
return(a-b);
}




int math(func func_p,int a,int b)
{
return (func_p(a,b));


}








int main(void)
{
int a= 8,b = 4;


printf("math = %d\r\n",math(add,a,b));
printf("math = %d\r\n",math(sub,a,b));


return 0;

}



指针函数:





#include <stdio.h>




int *GetWeekDay(int i,int j)
{
int GetWeekDay[][2] = 
{
{1,2},
{3,4},
{5,6}
};
return &GetWeekDay[i][j];
}




int main(void)
{
int a = 0,b = 0;


for(a = 0; a < 3; a++)
{
for(b = 0; b< 2; b++)
{
printf("%d\t",*GetWeekDay(a,b));
}
printf("\r\n");
}


return 0;
}

原创粉丝点击