奇思妙想 · 2024年 9月 5日 0

如何看待C语言数组不是一等公民?

40 次浏览

一等公民,意味着编程语言认为它是可以操作的基本单元,不管是传参、赋值、返回值或者当做元素使用。C语言数组本质是指针,但又有区别,数组初始化后数组名不能被再次赋值,这剥夺了它一等公民的能力。

  • ObjC/C++延续C语言数组的特征。
  • 更高级的语言,比如Java/C#的数组已经完全是引用,满足作为一等公民的条件。
  • JavaScript的数组更灵活,一等公民已经配不上它的地位。