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

变量指向函数。

Watrt7年前 (2018-04-20)C/C++16020

把一个数组指向函数。

#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]) 申请一个指针指向一个数组 只有一个指针指向数组的首地址。

分享给朋友:

相关文章

使用atlas为microui生成字库

使用atlas为microui生成字库

首先说一下原理:microui这套UI库使用的是图片然后通过坐标定位的方式来处理图标/字体来处理的。首先获取atlas代码:git clone https://github.com/rxi/atlas.git 然后bash运行:目录下的build.sh文件编译,然后会生成一个atlas可执行文件。中文比较多,所以在编译前最好修改一下limits.h文件里面的参数。然后在atlas同级目录下新一个文件。放入字休文件msyh.ttf(微软雅黑),如果有图标还要放入:pic.png 文件。然...

linux和windows下 C/C 的sleep函数

linux和windows下 C/C 的sleep函数

简介:函数名: sleep功 能: 执行挂起一段时间用 法: unsigned sleep(unsigned seconds);在VC中使用带上头文件#include <windows.h>在gcc编译器中,使用的头文件因gcc版本的不同而不同linux系统需要添加的头文件  #include <unistd.h>注意:在VC中Sleep中的第一个英文字符为大写的"S"在标准C中是sleep, 不要大写.. 下面使用大写的来说明,, 具体用什么看你用什...

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...

发表评论

访客

看不清,换一张

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