百科问答小站 logo
百科问答小站 font logo



C语言为何不改进数组? 第1页

  

user avatar   blackholeescaper 网友的相关建议: 
      

首先提一嘴:

如果你是想要用一个变量来作为数组声明时的大小,C99就已经早已实现了。

array[size];

完全没有问题,不过数组的大小并不会随着size变化而变化。

然后:

你知道那些可以任意调节大小的数组是怎么实现的吗?

其实非常简单:

1.先把数据存在一个固定大小的数组里。

2.地方不够了,就再开一个更大的固定数组,然后把数据复制进去。

好了,现在你还对这些看起来比较聪明的数组感兴趣吗?


user avatar   bluedrum 网友的相关建议: 
      

C语言的数组,本身是指针的变形,表示每次到基址的某个偏移量去取值。

所以在C语言里,负下标和数组越界都能编译通过。题主会不会因此而发狂?

int a = -1;

int b[2];

int c =-2 ;

printf("%d",b[-1]); // 输出?




  

相关话题

  如果要给编程语言加上一种可用于计量运算的基本数字类型,你觉得该怎么设计这种计量类型,以及修改语言本身? 
  MYSQL 什么时候返回空,什么时候返回NULL,为什么这两条语句返回结果不一样? 
  如何评价 Webkit 推出的并发 JavaScript 提案? 
  为什么现在编程语言用拉丁字母而不用片假名? 
  为什么很少听到有人在用 Windows 编程? 
  都说VB.NET是旧语言,那为什么很多高校里面还在教非计算机专业的学生学VB呢? 
  Node.js、Scala、Clojure 等声称适合高并发的语言,分别具体适用于什么情景,何种任务? 
  为什么程序语言要设计成使用这么多shift? 
  为什么很多新型编程语言都抛弃了 C 语言风格的 for 语句? 
  王垠的《谈谈Parser》是在回应 winter 吗? 

前一个讨论
如何系统了解西方民主政治理论?
下一个讨论
什么叫做「完整的工业体系」?





© 2025-03-29 - tinynew.org. All Rights Reserved.
© 2025-03-29 - tinynew.org. 保留所有权利