有个C的问题看不懂,求助
部分代码:
typedef struct{
BOOLEAN active;
TIMER_ID id;
INT16U timer;
INT16U counter;
void (*callback)(void);
BOOLEAN period;
}S_TIMER_INFO_TAG;
。。。。。。。
static S_TIMER_INFO_TAG system_timer[TIMER_ID_MAX]={0};
。。。。。。。
(void)system_timer[id].callback();
system_timer[id].callback=0;
这带颜色的两句有什么不同
up
(void)system_timer[id].callback();//应该是使用指针,调用函数
system_timer[id].callback=0; //给指针变量赋值吗?这句好像不对啊
1. 调用函数指针指向的函数, void可有可无
2. 初始化函数指针
多谢楼上的回答。我还想问:1.void为什么可有可无
2.函数指针初始化之后,是否不指向原先的函数了
(void)system_timer[id].callback();
-----------------------------------
调用函数system_timer[id].callback(),同时把其返回值强制转换为void
system_timer[id].callback=0;
--------------------------------
这个相当于为函数指针callback赋值NULL,赋值NULL之后,当然不指向原来指向的函数了。
对于第一句,真有点疑惑为啥要这样写???奇怪。
嘿嘿,我也不晓得。这是大牛写的代码,对于第一句,我试过去掉void,编译可以通过
相关问答:
在查询后将查询出来的值赋给各输入框
<c:if test="${not empty dataValue}">
fm.SAMPLING_DATE.value=" <c:out value='${dataValue.SAMPLING_DATE}'/ ......
13个人围成一圈,从第一个人开始顺序报号1,2,3。凡报到3者退出圈子,找出最后留在圈子中的人原来的序号
结果应该是13 可我的程序的结果是11 希望好心人帮改一下
#include <stdio.h>
#include < ......
为什么C写的DLL文件C、PB能调用VB不能调用?
VB里为什么有的DLL直接通过引用可以使用?有的需要通过declare申明外部函数?这些DLL有什么差别?
1、为什么PB能通过DECLARE声明而VB不行?
2、如果这个dll中的 ......
用这本书入门怎么样呢 跟谭浩强的相比如何? 谢谢
我把这本看了几篇,确实很好的书。就不要拿它跟 谭 的书比了, 谭 的书要照顾全国读者。
不可同日而语
一个是国外的,一个是国内的
学完c primer ......