C语言 函数指针 int(*ptr)(int,int)

Posted DQ_CODING

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 函数指针 int(*ptr)(int,int)相关的知识,希望对你有一定的参考价值。

基本介绍

函数指针:指向函数的指针
与数组类似

定义

Int(*pmax)(int ,int)=max;
Int(*pmax)(int x,int y)=max;//形参名称不重要
函数返回类型(*指针)(形参类型)=函数名称;

具体案例

代码:

*pmax取到函数本身

调用函数指针方式:
(*pmax)(x,y);
pmax(x,y);//与java中调用函数一致

内存布局

练习–大小写字母转换

#include<stdio.h>
//函数指针--char

//函数原型
char change(char c);
int main()
{
	//函数指针p
	char(*p)(char)=change;
	char c;
	scanf("%c",&c);
	char result=(*p)(c);
	printf("result=%c address=%p self-address=%p\\n",result,p,&p);
	getchar();//enter
	getchar();
	return 0;
}
//大小写字母转换
char change(char c)
{
	if(c>='A'&&c<='Z')
		c+=32;
	else if(c>='a'&&c<='z')
		c-=32;
	return c;
}

以上是关于C语言 函数指针 int(*ptr)(int,int)的主要内容,如果未能解决你的问题,请参考以下文章

C语言指针 ptr,*ptr,&ptr的含义?

c语言函数指针实现函数重载

c语言函数指针实现函数重载

c语言函数指针实现函数重载

c语言中的指针应该怎么理解?

转C语言:指针,C的灵魂