MyException - 我的异常网
当前位置:我的异常网» 驱动开发 » 请问一c语言疑问(函数指针相关)

请问一c语言疑问(函数指针相关)

www.MyException.Cn  网友分享于:2013-02-20  浏览:3次
请教一c语言疑问(函数指针相关)
__Handler = (void (*)(void)) VICVectAddr[irq_no];

_Handler是已定义的一个无返回值无参数的函数指针,后面给赋值的看不懂,是把VICVectAddr[irq_no]这个数组元素强制转化为一个无返回值无参数的函数指针?还是转化为这样一个函数指针的地址?

------解决方案--------------------
__Handler = (void (*)(void)) VICVectAddr[irq_no];
__Handler();

==>你这样看就可以了:
void * p = VICVectAddr[irq_no];
__Handler = p;
__Handler();

就是把 VICVectAddr 这个数组中,对应的 irq_no 中的那个元素取出来, 当成一个函数地址,调用这个函数。




------解决方案--------------------
__Handler是一个函数指针,其指向的函数地址来自于上一行的赋值,如果想知道内容,应该查在哪个地方对VICVectAddr进行初始化或者赋值了。

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有