pointfunc1.c

来自「单片及c语言轻松入门的随书光盘」· C语言 代码 · 共 24 行

C
24
字号

#include <reg51.h> 
#include <stdio.h> 
void func1(int d) { /* 函数 1 */
	printf("In FUNC1(%d)\n", d);
}
void func2(int i) { /* 函数 2 */
	printf("In FUNC2(%d)\n", i);
}
void main(void) {
	void (*f)(int i); /* 定义函数指针 */	
	SCON  = 0x50;    /*SCON:工作模式1,8-bit UART,允许接收*/
	TMOD |= 0x20;    /*TMOD:定时器T1,工作模式2, 8位自动重载方式*/
	TH1   = 0xf3;    /*当波特率为2400时,定时器初值*/
	TR1   = 1;       /*定时器T1开始运行*/
	TI    = 1;       /*允许发送数据*/
	while( 1 ) 
	{
		f = (void *)func1; /* 指针f指向函数func1 */
		f(1);				//执行函数func1
		f = (void *)func2; /* 指针f指向函数func2 */
		f(2);				//执行函数func2
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?