300元3小时服务不限次数-400块钱3小时无限次快餐,500一晚同城约茶,风楼阁交友平台

千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:成都千锋IT培训  >  技术干货  >  为什么C的数组必须要指明尺寸大小?

为什么C的数组必须要指明尺寸大小?

来源:千锋教育
发布人:xqq
时间: 2023-10-15 10:25:53

一、为什么C的数组必须要指明尺寸大小

不指明尺寸大小就无法开辟内存。无论是在堆上还是栈上,为了实现常数时间的随机访问,数组元素都必须线性的分布在一段内存里。

如果想实现动态数组的话,就意味着编译器必须要插入额外的代码来实现动态的重分配内存和转移元素,这会给程序带来额外的性能损耗。

c++的基本设计理念之一就是不引入任何没有必要的cost?;谎灾绦蛟辈挥Ω茫ɑ蛘呔】赡苌俚模┪魏蚊挥惺褂玫奶匦猿械P阅芸?。

再者,一个可以动态resize/reallocate的数组对于裸内存和指针非常不友好。频繁的数组操作会导致一个指针很难被固定在原地。这会使得很多复杂的直接操作内存的编程技巧难以实现。

所以通常的实践都是如果你确定不需要任何动态数组特性,就用原生数组类型。

需要的话用std::vector。

延伸阅读:

二、二叉树和红黑树

二叉树:对于表提供自增整形字段作为建立索引的列,那子元素总是添加去了右侧,导致左子树一直为空,那么查找时就完全退化成了没加索引那样了。红黑树:红黑树解决了二叉树不平衡的问题。然为什么要费力保持树的平衡性?是因为树的查找性能取决于树的高度,让树尽可能平衡,就能降低树高。但因为其父节点只能存在两个子节点,那在数据量大的时候,深度也很大。
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

哪些方式可以提高工作效率?

2023-10-15

推荐算法中有哪些常用排序算法?

2023-10-15

什么是决策融合(decision fusion)?

2023-10-15

最新文章NEW

机器学习中常见的线性分类器有哪些?

2023-10-15

什么是皮尔逊相关系数?

2023-10-15

词向量工作原理是什么?

2023-10-15

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>