c - 为什么 C 函数不能返回数组类型?

标签 c arrays return return-type

我是 C 语言的新手,我想知道:

为什么 C 函数不能返回数组类型?

我知道数组名是数组第一个值的地址,而数组在 C 语言中是二等公民。

最佳答案

您自己已经回答了这个问题:数组是二等公民。

C 按值返回。数组不能按值传递,因此不能返回。

至于为什么数组不能按值传递:这是 K&R 在他们最初设计语言时做出的设计决定,现在更改它为时已晚,因为所有现有的 C 代码都会中断。

关于c - 为什么 C 函数不能返回数组类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32620963/

相关文章:

c - 使用 `*inchstr()`保存的数据恢复屏幕内容

c# - Array.Find 与委托(delegate)。如果没有找到返回什么?

php - 在 php 中, "return false"在 echo 语句之后有什么作用吗?

c - 目标文件到二进制代码

c++ - IEEE Std 754 Floating-Point : let t := a - b, 标准是否保证 a == b + t?

javascript - 将对象数组转换为基元数组(从对象属性中提取)

c - C中return语句中的逻辑运算符

Javascript 函数可以工作但返回未定义

c - dup 系统调用说明

javascript - 如何从数组中获取值,其中包含一些带有lodash angular 4的值