调用函数时,请列举不使用函数原型潜在的风险?

yekeyishuo 2011-04-11 10:02:45
调用函数时,请列举不使用函数原型潜在的风险。
...全文
341 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yekeyishuo 2011-04-11
  • 打赏
  • 举报
回复
某人说使用函数指针调用时会产生死锁,会出现这种情况吗?不知什么时候会出现,在手机平台里以其他方式很好的解决了这一问题,不会出现,不知其他系统是否会出现这一问题
we_sky2008 2011-04-11
  • 打赏
  • 举报
回复
C语言里面不使用函数原型潜在的风险。

1.编译时参数类型不能被检查,这种情况发生在没有函数声明或者将函数声明为return_type func();时被编译器理解为参数个数不确定
2.不使用函数原型时,参数传递时有类型提升,char->int, float->double ..如果函数定义时是用的ANSI形式,就会隐藏错误
参见《C专家编程》上提到的:
ANSI函数声明(原型)与K&R函数定义,如果使用一个较窄的类型时就会失败,函数传递时是实际的较窄类型,而函数体内期望得到的是提升后的类型
K&R函数声明与ANSI函数定义,如果使用一个较窄的类型时就会失败,函数传递时是提升后类型,而函数体内期望得到实际的较窄的类型
zjs100901 2011-04-11
  • 打赏
  • 举报
回复
那家公司的面试题?

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧