一个阵列是相似类型的元素的集合。例如,整数数组保存int类型的元素,而字符数组保存char类型的元素。下面是数组的表示形式:
但是,数组有其自己的优点和缺点。
以下是数组的一些优点:
在数组中,使用索引号可以很容易地访问元素。
搜索过程可以轻松地应用于数组。
2D数组用于表示矩阵。
由于任何原因,用户希望存储相似类型的多个值,则可以有效地使用和利用Array。
现在让我们看一下数组的一些缺点以及如何克服它:
数组大小是固定的:数组是静态的,这意味着其大小始终是固定的。分配给它的内存不能增加或减少。下面是相同的程序:
说明:在上述程序中,声明了大小为10的数组,并在特定索引处分配了该值。但是,当打印索引11处的值时,它会打印垃圾值,因为该数组是从绑定索引之外访问的。在某些编译器中,它给出的错误为“数组索引越界”。。
如何克服:要克服该问题,请使用动态内存分配,例如malloc(),calloc()。它还有助于我们使用free() 方法释放内存,该方法有助于通过释放内存来减少内存浪费。下面是相同的程序:
数组是同类的:数组是同类的,即,数组中只能存储一种类型的值。例如,如果数组类型为“int”,则只能存储整数元素,而不能允许其他类型的元素,例如double,float,char等。下面是相同的程序:
说明:由于将整数类型数组的值分配给字符串和浮点类型,因此上述代码给出了“ Compilation Error ”。
克服方法:解决该问题的方法是结构化,可以存储非均质(异构)值。下面是相同的程序:
数组是连续的内存块:数组将数据存储在连续(一对一)的内存位置。下面是相同的表示:
如何克服:为了克服对数组的顺序访问,其思想是使用Linked list。在“链接列表”中,元素不存储在连续的内存位置中。下面是相同的表示: