2021-12-31 10:22:32|已浏览:4871次

我们用C/C++开发的过程中,总是有一个问题会给我们带来苦恼。这个问题就是函数内和函数外代码需要通过一块内存来交互(比如,函数返回字符串),这个问题困扰和很多开发人员。如果你的内存是在函数内栈上分配的,那么这个内存会随着函数的返回而被弹栈释放,所以,你一定要返回一块函数外部还有效的内存。
这是一个让无数人困扰的问题。如果你一不小心,你就很有可能在这个上面犯错误。当然目前有很多解决方法,如果你熟悉一些标准库的话,你可以看到许多各式各样的解决方法。大体来说有下面几种:3)第三种方式显得比较另类,他利用了static的特性,static的栈内存一旦分配,那这块内存不会随着函数的返回而释放,而且,它是全局可见的(只要你有这块内存的地址)。所以,有一些函数使用了static的这个特性,即不用使用堆上的内存,也不需要用户传入一个buffer和其长度。从而,使用得自己的函数长得很漂亮,也很容易使用。
本文由培训无忧网达内教育专属课程顾问老师整理发布,更多C语言课程信息可关注培训无忧网C语言培训频道或添加老师微信:15033336050
注:尊重原创文章,转载请注明出处和链接 https://www.pxwy.cn/news-id-11440.html 违者必究!部分文章来源于网络由培训无忧网编辑部人员整理发布,内容真实性请自行核实或联系我们,了解更多相关资讯请关注c语言频道查看更多,了解相关专业课程信息您可在线咨询也可免费申请试课。关注官方微信了解更多:150 3333 6050