为什么C函数不能返回数组?语言设计的基本原理是什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (76)

我对C的了解不多。有一件事我知道,但是没有向我解释过为什么函数不能返回数组。

为什么函数不能返回数组?

提问于
用户回答回答于

我不确定,但我想。

  1. C是在内存受限时开发的。
  2. 有人可能已经告诉替代,而不是传回全数组,我们可以返回指针
用户回答回答于

猜测...

  • 数组预计会很大(或者至少不是很小),所以复制数组以允许“值类型”行为将花费不少的时间。
  • C语言中的数组并不包含任何地方的大小,只是没有简单的技术方法来实现复制作为当前的“数组”的概念,因为它存在于语言中。

扫码关注云+社区

领取腾讯云代金券