首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C语言数组的优缺点,你有学废吗?

一个阵列是相似类型的元素的集合。例如,整数数组保存int类型的元素,而字符数组保存char类型的元素。下面是数组的表示形式:

但是,数组有其自己的优点和缺点。

以下是数组的一些优点:

在数组中,使用索引号可以很容易地访问元素。

搜索过程可以轻松地应用于数组。

2D数组用于表示矩阵。

由于任何原因,用户希望存储相似类型的多个值,则可以有效地使用和利用Array。

现在让我们看一下数组的一些缺点以及如何克服它:

数组大小是固定的:数组是静态的,这意味着其大小始终是固定的。分配给它的内存不能增加或减少。下面是相同的程序:

说明:在上述程序中,声明了大小为10的数组,并在特定索引处分配了该值。但是,当打印索引11处的值时,它会打印垃圾值,因为该数组是从绑定索引之外访问的。在某些编译器中,它给出的错误为“数组索引越界”。。

如何克服:要克服该问题,请使用动态内存分配,例如malloc(),calloc()。它还有助于我们使用free() 方法释放内存,该方法有助于通过释放内存来减少内存浪费。下面是相同的程序:

数组是同类的:数组是同类的,即,数组中只能存储一种类型的值。例如,如果数组类型为“int”,则只能存储整数元素,而不能允许其他类型的元素,例如double,float,char等。下面是相同的程序:

说明:由于将整数类型数组的值分配给字符串浮点类型,因此上述代码给出了“ Compilation Error ”。

克服方法:解决该问题的方法是结构化,可以存储非均质(异构)值。下面是相同的程序:

数组是连续的内存块:数组将数据存储在连续(一对一)的内存位置。下面是相同的表示:

如何克服:为了克服对数组的顺序访问,其思想是使用Linked list。在“链接列表”中,元素不存储在连续的内存位置中。下面是相同的表示:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20201211A0HIDD00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券