void在C语言中特殊使用

在C语言中,在定义函数时,加在函数名前的“void”表示该函数没有返回值,调用时直接书写函数名和参数即可。

但是有些函数明明在定义的时候不是void型,却在调用时可能会在前面加上void,这表示程序并不关心调用该函数后的返回值是什么,即告诉静态代码检测工具不要去处理此处该函数的返回值。比如函数strcpy,我们直接用“strcpy(des_str, src_str);”这样的形式来用。

但如“(void)strcpy(des_str, src_str);”这样的形式还真不多见!原因是这种写法不针对人,也不针对编译器,而是针对静态代码检测工具,它会把函数返回值作为一项检测标准。在某些大公司,比较重视代码规范,若在代码静态检测时需要检测该项。此时就需要用在被调用的函数(名)前加上“(void)”这种形式来告诉静态代码检测工具程序并非没有处理该函数的返回值,而是该处确实不需要处理它(该函数的返回值),不需要再对该处代码作此项检测。其实这和我们在代码中使用“#pragma warning (disable: XXXX)”的道理是一样的。

原文出处:http://blog.sina.com.cn/s/blog_553fda9b0101falp.html

你可能感兴趣的:(C语言,应用技巧)