C程序中的函数格式

C程序中的函数格式,第1张

概述我正在编写一些函数来处理C中的字符串并返回字符串中的提取. 您对从函数返回值的好样式有何看法? 参考Steve McConnell’s Code Complete(1993年版第5.8节),他建议我使用 格式如下: void my_function ( char *p_in_string, char *p_out_string, int *status ) 我正在考虑的替代方案是: 使用以下命令返 我正在编写一些函数来处理C中的字符串并返回字符串中的提取.

您对从函数返回值的好样式有何看法?

参考Steve McConnell’s Code Complete(1993年版第5.8节),他建议我使用
格式如下:

voID my_function ( char *p_in_string,char *p_out_string,int *status )

我正在考虑的替代方案是:

使用以下命令返回函数的结果(选项2):

char* my_function ( char *p_in_string,int *status )

使用以下命令返回函数的状态(选项3):

int my_function ( char *p_in_string,char *p_out_string )

在上面的选项2中,我将从my_function返回一个局部变量的地址,但我的调用函数将立即使用该值,所以我认为这是正常的,并假设内存位置没有被重用(如果我’,请纠正我的内容)我错了).

这是个人风格和偏好还是我应该考虑其他问题?

解决方法 选项3几乎是未说明的(?)行业标准.如果返回整数的基于IO的C函数返回非零整数值,则几乎总是意味着IO *** 作失败.您可能希望在C/C++中返回值时引用 this Wikibook’s section.

人们使用0来取得成功的原因是因为只有一个成功的条件.然后,如果它返回非零,你会以某种方式查找非零值在误差方面的含义.也许1表示它不能分配内存,2表示参数无效,3表示存在某种IO错误,例如.从技术上讲,通常你不会返回1,但你会返回XXX_ERR_Could_NOT_MALLOC或类似的东西.

此外,never return addresses of local variables.除非您亲自对其进行了编辑,否则在您从函数返回后无法保证该变量的地址.阅读链接了解更多信息.

总结

以上是内存溢出为你收集整理的C程序中的函数格式全部内容,希望文章能够帮你解决C程序中的函数格式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1257890.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存