当前位置: 首页 > 编程笔记 >

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

暨嘉
2023-03-14
本文向大家介绍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 ", 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语言实现将字符串转换为数字的方法,包括了C语言实现将字符串转换为数字的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C语言实现将字符串转换为数字的方法。分享给大家供大家参考。具体实现方法如下: C语言提供了几个标准库函数,可以将字符串转换为任意类型(整型、长整型、浮点型等)的数字。以下是用atoi()函数将字符串转换为整数的一个例子:   atoi()函数只有一个参数

  • 函数的返回值是指函数被调用之后,执行函数体中的代码所得到的结果,这个结果通过 return 语句返回。 return 语句的一般形式为: 或者: 有没有 都是正确的,为了简明,一般也不写 。例如: 对C语言返回值的说明: 1) 没有返回值的函数为空类型,用 表示。例如: 一旦函数的返回值类型被定义为 void,就不能再接收它的值了。例如,下面的语句是错误的: 为了使程序有良好的可读性并减少出错,

  • C 语言中的字符串虽然不是一种独立的数据类型,但是这并不影响其重要地位,所以在 C 语言中会有一些专门针对字符串的函数。 1. 字符串函数 字符串函数是专门用来进行字符串操作的。C 语言提供了一个标准的函数库 string.h 。在这个函数库中大致存在了 22 个字符串的函数。我们这里所介绍的字符串函数是来自于这个标准函数库中比较常用的的一部分函数。除了这个函数库,还会有第三方的函数库提供的字符串

  • 主要内容:字符串连接函数 strcat(),字符串复制函数 strcpy(),字符串比较函数 strcmp()C语言提供了丰富的字符串处理函数,可以对字符串进行输入、输出、合并、修改、比较、转换、复制、搜索等操作,使用这些现成的函数可以大大减轻我们的编程负担。 用于输入输出的字符串函数,例如 、 、 、 等,使用时要包含头文件 ,而使用其它字符串函数要包含头文件 。 是一个专门用来处理字符串的头文件,它包含了很多字符串处理函数,由于篇幅限制,本节只能讲解几个常用的,有兴趣的读者请 猛击这里查阅所

  • 本文向大家介绍C语言实现统计字符串单词数,包括了C语言实现统计字符串单词数的使用技巧和注意事项,需要的朋友参考一下 字符串单词数.c 以上所述就是本文的全部内容,希望大家能够喜欢。

  • 本文向大家介绍C语言去除相邻重复字符函数的实现方法,包括了C语言去除相邻重复字符函数的实现方法的使用技巧和注意事项,需要的朋友参考一下 C语言去除相邻重复字符函数的实现方法 字符去重函数 功能:去重字符串相邻重复的字符,不相邻的不用去重 参数: arg1 -- 输入字符串 arg2 -- 字符串开始位置 arg3 -- 字符串结束位置 要求: 输入参数为arg1时, 对这个字符串去重 输入参数为a