c中函数可以返回字符串吗?

标签 c function return

问题几乎是不言自明的,但我将添加一个示例来澄清它。

例如,我们有这个函数:

    char abc(void)
    {
      code...
      code...
      return a;
    }

这个函数会将 char a 返回到 abc,但是函数可以在不使用指针、文件 I/O 之类的情况下返回整个字符串吗?

最佳答案

C 字符串是 char 数组,以值为 0char 结尾。 C 函数不能返回数组本身,包括字符串,实际上也不能将数组作为参数传递。传递和/或返回指针是 C 语言中传递和/或返回数组的替代方案。在很大程度上,您甚至不需要做任何特殊的事情来传递或返回指针来代替数组。

因为精确地谈论这些事情有点麻烦,所以指针/数组的区别经常被排除在讨论甚至文档之外。人们经常将 char * 称为字符串,而实际上该字符串是其第一个元素所指向的数组。然而,这确实存在混淆的可能性,正如问题和相关评论中显而易见的那样。

关于c中函数可以返回字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34225258/

相关文章:

Java 返回值(在 try/catch 子句中)

将日期转换为纪元时间忽略系统时区

ios - 从一个类调用另一个类中的函数 - swift

php - PHP 函数末尾的 'return' 是什么意思?

C#函数在预调用后的时间测量速度更快吗?

javascript - promise 中的返回值 then 始终未定义

C链表指针问题

c - 将数据提供给需要文件名的 C API

c - 如何使用功能停止golang gRPC服务器?

c++ - 有没有正确的方法在 C++ 中通过引用返回一个新的对象实例?