您的当前位置:首页正文

C语言实现返回字符串函数的四种方法

来源:华佗健康网
C语⾔实现返回字符串函数的四种⽅法

前⾔

C语⾔返回字符串函数共有四种⽅式,分别如下:1. 使⽤堆空间,返回申请的堆地址,注意释放2. 函数参数传递指针,返回该指针

3. 返回函数内定义的静态变量(共享)4. 返回全局变量下⾯来看看详细的介绍

其实就是要返回⼀个有效的指针,尾部变量退出后就⽆效了。使⽤分配的内存,地址是有效

char *fun() {

char* s = (char*)calloc(100, sizeof(char*) ); if (s)

strcpy ( s , \"abc \" ); return s; }

但这种⽅式需要注意,必须由使⽤将将返回的地址free掉将地址由⼊参传⼊

char* fun(char*s) {

if (s)

strcpy(s, \"abc \"); return s; }

这种⽅式调⽤都要注意给s分配的⼤⼩是⾜够。 可以这样:

char* fun(char*s, int len) {

if (s) {

strncpy(s, \"abc \ s[len-1] = 0; }

return s; }

或才使⽤局部静态变量

char* fun() {

static char s[100]; strcpy(s, \"abc \"); return s; }

这种⽅式需要注意,不要修改返回的这个字符串,由于是共享地址,对它的修改会反应到每个调⽤者的。可以这样:

const char* fun() {

static char s[100]; strcpy(s, \"abc \"); return s; }

还有⼀种是使⽤全局变量

char g_s[100]; char* fun()

{

strcpy(g_s, \"abc \"); return s; }

同样的,也要注意这个变量可存储的最⼤空间。总结

以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家学习或者使⽤C语⾔能有所帮助,如果有疑问⼤家可以留⾔交流。

因篇幅问题不能全部显示,请点此查看更多更全内容