社区
C语言
帖子详情
调用函数时,请列举不使用函数原型潜在的风险?
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
打赏
举报
回复
那家公司的面试题?
昵称是可以中文吗
2011-04-11
打赏
举报
回复
还有一点函数原型于定义不同的是如果要加函数的默认参数的话必须加在函数声明中,而不能加在函数定义中,加在函数声明中,编译器就会把参数提前压入栈,而如果放在定义中,过不了编译,如果原型和定义中都有默认参数的话就犯了重复定义默认参数的错误(还没想明白为什么啊~~~可能是不让压2次栈吧),只有定义中有默认参数,调用函数不带参数调用时候,由于编译时调用参数是用函数原型来检查的,所依通不过编译
http://sdzhguoliang.blog.163.com/blog/static/9982057201062652022596/
http://cc712cc.iteye.com/blog/692010
HP库
函数
手册-全面介绍C下的
函数
使用
- **
函数
原型
**:
函数
的完整声明,包括
函数
名、参数列表、返回类型等。 - **参数说明**:对每个参数的含义和
使用
方法进行解释。 - **返回值**:描述
函数
执行后可能返回的结果及其含义。 - **错误处理**:
列举
函数
...
UNIX环境高级编程20
在C语言中,
函数
原型
帮助编译器检查
调用
函数
时
的语法正确性,并在编译阶段发现可能的错误。例如,`fgets`
函数
原型
通常表示为`char *fgets(char *str, int n, FILE *stream)`,这告诉我们`fgets`接收一个字符数组地址...
Secrets of the JavaScript Ninja (Manning MEAP 2009).pdf 电子书
#### 五、
函数
原型
- **实例化与
原型
**:介绍了JavaScript对象的创建方式及其与
原型
的关系。 - **对象类型**:探讨了如何确定对象的具体类型。 - **继承与
原型
链**:讲解了JavaScript中的继承机制,特别是基于
原型
链...
高质量C++编程指南
- **GOTO语句**:讨论了GOTO语句的
使用
场合和
潜在
风险
,提倡尽量避免
使用
。 #### 5. 常量 - **为什么需要常量**:解释了常量相比于变量的优点,如减少代码错误、提高代码可维护性等。 - **CONST与#DEFINE的比较**:...
高质量C++-C编程指南
- **GOTO语句**:分析goto语句的
潜在
风险
及其
使用
场景。 #### 第5章 常量 - **为何需要常量**:解释
使用
常量而非硬编码数字的好处。 - **CONST与#DEFINE的比较**:对比两种定义常量的方式。 - **常量定义规则**:...
C语言
70,037
社区成员
243,243
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章