C语言:函数返回字符串的四种方法 | 您所在的位置:网站首页 › 获取字符串的个数的方法是 › C语言:函数返回字符串的四种方法 |
转载连接: 1.https://blog.csdn.net/turkeyzhou/article/details/6104135#comments 2.https://www.cnblogs.com/qingergege/p/6496683.html 四种返回字符串的方法: 1、 将字符串指针作为函数参数传入,并返回该指针。 2、 使用malloc函数动态分配内存,注意在主调函数中释放。 3、 返回一个静态局部变量。 4、 使用全局变量。 详细解释: 方法一:将字符串指针作为函数参数传入,并返回该指针。 典型的strcpy()函数应该就是采用的这种方法,第一个参数为指向目的字符串的指针,返回值也为这个指针。 ![]() 方法二:使用malloc函数动态分配,但是一定要注意在主调函数中将其释放,应为malloc动态分配的内存位于堆区,而堆区的内存是要程序员自己释放的。 一个例子如下: ![]() 方法三:返回一个静态局部变量。 一个例子如下: ![]() 这种方法有一个问题: 由于采用了静态局部变量(位于静态区,程序结束时由系统进行释放),这就导致,如果多次调用这个函数,下一次调用会将上一次调用的结果覆盖掉。 C语言中的库函数,tmpnam()函数、getenv()函数等应该都是采用的这种方法,这也就是为什么,使用这样的函数的时候应该立即将返回结果拷贝一份的原因。 方法四: 使用全局变量。 一个例子如下: char g_s[100]; char* fun() { strcpy(g_s, "abc "); return g_s; } |
CopyRight 2018-2019 实验室设备网 版权所有 |