当前位置:首页 > 技术 > C/C++ > 正文内容

变量指向函数。

watrt6年前 (2018-04-20)C/C++11430

把一个数组指向函数。

#include <stdio.h>
int max(int a,int b);
int min(int a,int b);
int main(int argc, char *argv[])
{
	int a1=0;
	int b1=0;
	int(*p[1])(int,int);	//定义一个指针类型的数组 注意与数组指针区别  反回类型是int
	p[0]=max;	//先定义 否侧会出错 
	p[1]=min;	//指向函数 
	
	
	printf("请输入a和b的值");
	scanf("%d%d",&a1,&b1);
    printf("a=%d,b=%d\n",a1,b1);
	printf("a[%d]和b[%d]的值中大的是:%d\n",a1,b1,(*p[0])(a1,b1));	//此处调用函数max使用的是变量指向函数 
	printf("a[%d]和b[%d]的值中小的是:%d\n",a1,b1,(*p[1])(a1,b1));
	printf("a=%d,b=%d\n",a1,b1);
	return 0;
}
int max(int a,int b){
	int z;
	if(a>b)z=a;
	else z=b;
	return z;
}
int min(int a,int b){
	int z;
	if(a<b)z=a;
	else z=b;
	return z;
}

以前代码过通调式。

要点。指针数组与数组指针的区别。

           指针数组申明:int *p[4]  申明一个数组是int的指针类型 每一个成员都是指针。

           数组指针申明:int *(p[4]) 申请一个指针指向一个数组 只有一个指针指向数组的首地址。

分享给朋友:

相关文章

arduino esp32开发板安装困难解决方法

arduino esp32开发板安装困难解决方法

最近想使用arduino来编辑一下esp32固件,结果出师不利,IDE迟迟安装不好。下面提供一下解决方法供大家参考。我使用的是arduino是1.8.19版,在新版本上没有尝试过。但是思路应该差不多吧。首先在在arduino IDE中设置乐鑫的附加开发板的地址:https://dl.espressif.com/dl/package_esp32_index.json stm32:http://dan.drown.org/stm32duino/package_STM32duino_index.jso...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。