C语言中函数返回值的问题


c语言中有关于在函数返回值的问题,在函数中的局部变量主要是在栈上开辟的,出了函数变量就被回收了,针对函数返回值得问题,给出下面几个比较具体的例子来说明:
函数返回值是在函数中定义的局部变量这类型的返回值在主函数中是可以使用的,因为返回局部变量值得时候,返回的是值得一个副本,而在主函数中我们需要的也只是这个值而已,因此是可以的,例如
int fun(char *arr){ int num = 0; while (*arr != ‘’) { num = num * 10 + *arr – ‘0’; arr++; } return num; printf(“%d “, num);}int main(){ int tem = 0; char *arr = “12345”; tem = fun(arr); printf(“%d”,tem); system(“pause”); return 0;}2.函数返回的是函数中定义的指针变量char *fun(){ char *arr = “1234”; return arr;}int main(){ char *tem = fun(); printf(“%s”, tem); system(“pause”); return 0;}这在运行过程中也是正确的。3.函数不能返回局部变量的地址int *fun(){ int a = 10; return &a;}int main(){int *tem = fun();printf(“%d”, *tem);system(“pause”);return 0;}4.函数也不能返回数组的首地址int *fun(){ int arr[] 免费云主机域名= { 1, 2, 3, 4 }; return arr;}int main(){int *tem = fun(); system(“pause”);return 0;}

相关推荐: linux ext3有哪些特点

本篇内容介绍了“linux ext3有哪些特点”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! 在linux中,ext3全称“Third extended fil…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/25 11:22
下一篇 01/25 11:22