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 ", len-1);
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语言定义一个字符串}
同样的,也要注意这个变量可存储的最⼤空间。
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家学习或者使⽤C语⾔能有所帮助,如果有疑问⼤家可以留⾔交流。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。