(void)变量;
在代码中没有具体意义,只是告诉编译器该变量已经使用了
ret_t page_init(widget_t* win, void* ctx) {
(void)ctx;
return_value_if_fail(win != NULL, RET_BAD_PARAMS);
return RET_OK;
}
(void *)变量
void * 就是无类型指针类型,他所指向的内存空间没有被认为是某一种特定的类型。
void *ctx;
if(ctx==(void*)0) return 0;
*(unsigned char*)ctx=1;
ctx被定义成void *,(void *)0 把0强制转换为 void *,便于跟j进行同类型比较, 所以 ctx==(void *)0的意思是,判断ctx是不是0,即ctx是否指向0地址。
*(unsigned char *)cxt,首先看(unsigned char *)ctx,意思是把j强制类型转换为unsigned char *型,那么*(unsigned char *)ctx就是把ctx 指向的内存空间的一个字节强制当作unsigned char来用。*(unsigned char *)ctx=1就是把1写入j指向的那个一字节空间。
(void)函数名
表示程序并不关心调用该函数后的返回值是什么。
这种写法不针对人,也不针对编译器,而是针对静态代码检测工具,它会把函数返回值作为一项检测标准。
339

被折叠的 条评论
为什么被折叠?



