注:本课程参考文献《C安全编码标准》
欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~
目录
一.引言
在声明函数时,应避免使用隐含的返回类型。举例来说,如果函数返回一个具有特定意义的整数值,那么在声明这个函数时,应当明确指出其返回类型为int
。相反,如果函数不返回任何有意义的值,那么在声明时,应将其指定为返回void
类型。
二.不安全代码
在这个不兼容代码示例中,编译器假定foo()返回int类型值。UINT_MAX错误地转换为-1。
#include <limits.h>
#include <stdio.h>
foo(void){
return UINT_MAX;
}
int main(void){
long long int c = foo();
printf("%lld\n",c);
return 0;
}
三.改善代码
在