找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

关于函数指针

[复制链接]
admin 发表于 2012-9-2 21:16:21 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
一直没写过函数指针的程序,就连指针都少用,今天看到了,于是写了段测试了一下,有个想不通的地方还请大虾指点一二,
#include<reg51.h>

void fun1(int x);
void fun2(char y);
void fun3();
void fun4(int z);

void main()
{
void(*VectorFun[])(void) =
{
fun1,
fun2,
fun3,
fun4,
};
unsigned char i;
for(i=0;i<4;i++)
{
(*VectorFun)();
}
//修改VectorFun[2]指向fun4
VectorFun[2] = fun4;
//*VectorFun[2] = fun4;
//这两句为什么都可以显示将VectorFun[2] 指向fun4,第一
//个倒是容易理解的,fun4函数首地址,是能指向的,可是第二个想不通
for(i=0;i<4;i++)
{
(*VectorFun)();
}
while(1);
}
void fun1(int x)
{
x = 10;
}
void fun2(char y)
{
y = 0x00;
}
void fun3()
{
;
}
void fun4(int z)
{
z = 0xff;
}
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-11-29 12:53 , Processed in 0.048213 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表