c语言函数怎么返回字符串 c语言 返回字符串

c语言如何接收返回字符串?C语言不能返回字符串,你只能给函数一个字符数组的参数 , 用参数来返回
void
foo(char
*str,int
【c语言函数怎么返回字符串 c语言 返回字符串】n)
{
str[0]
=
'a';
str[1]
=
'b';
str[2]
=
'c';
}
int
main()
{
char
c[255]
=
{'\0'};
foo(c,255);
printf("%s\n",c);
}
函数参数里的n是用于判断这个字符串长度 , 以防越界操作
C语言中函数如何返回字符串?别听 楼上 的 瞎说 , 也 别 百度 c语言函数怎么返回字符串了, 都是 错 的,c语言函数怎么返回字符串我 告诉 你 正确 答案
函数 中 的 字符 串 在 函数 结束 的 时候 会 自动 被 释放 掉,所以 即使 返回 char* 指向 的
也 就是 原 函数 字符串 的 地址 , 访问 的 是 一个 系统 没有 分配 给 程序 的 内存 , 虽然 编译器 不会 报错,但 语法 绝对 是 错误 的,而且 你 不一定 能 得到 一个 正确 的 结果
三种 解决 方法:
1,struct ret { char a[100];}; 返回 一个 结构, 结构里面 包含 字符串
2 , char* ret = (char *)malloc(100 * sizeof (char));在 函数 里 开 一个 动态 的 字符串,这个 可以 返回, 不过 动态 内存 需要 手动 free 掉
3, 这个 不是 c语言 了, 调用 c里面 的 string 类型,也是 最简单 的 办法,省心,安全
C语言系列之C语言如何返回字符串数组C语言实现返回一个字符串数组,是没有这种功能的,但是可以用指向数组的指针来实现:
解释:
char **p 这个p就是指向数组的指针,它指向一个数组的起始地址.
想要引用里面的数组时,直接使用p[i] 即可 。
我们知道C语言里面的各种数组 , 本质上都是指针,并且函数其实也是不能把数组当作参数的,实际上都是把数组的地址传进去了,实际上就是指向数组地址的指针 。
实现
这样返回的P就是指向数组的指针了,实际上就是一个字符串数组
函数解释:
函数返回一个字符串数组,实际上就是指向数组的指针,传进去的是返回的数组的大小以及一个字符串数组,用来处理数据用 。
在C语言中,返回一个字符串的函数应该怎样定义要返回字符串 需要返回char*类型
需要注意c语言函数怎么返回字符串的是 返回c语言函数怎么返回字符串的字符串 不能是该函数的局部变量c语言函数怎么返回字符串,否则会导致出错
可以是参数字符串c语言函数怎么返回字符串,全局变量,静态局部变量,或者动态分配的内存
比如
char *my_str_cpy(char *d, char *s)
{
char *p=d;
while(*p=*s);
return d;//返回参数字符串 。
}
c语言函数怎么返回字符串的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言 返回字符串、c语言函数怎么返回字符串的信息别忘了在本站进行查找喔 。

    推荐阅读