陣列是一種資料結構,可以儲存相同類型的固定大小的順序元素集合。
陣列用於儲存資料集合,但更有用的是將陣列視為相同類型的變數集合。
以下是陣列的限制:
#形成的陣列將是同質的。也就是說,在整數數組中只能儲存整數值,而在浮點數數組中只能儲存浮點值,字元數組只能儲存字元。因此,數組不能同時具有兩種資料類型的值。
在宣告陣列時,傳遞陣列的大小是強制性的,且大小必須是常數。因此,可能存在記憶體不足或浪費的情況。
在陣列中插入或刪除元素時需要進行移位操作。
陣列不檢查邊界:在C語言中,我們無法檢查陣列中輸入的值是否超過了陣列的大小。
使用下標輸入的資料超過了陣列大小,將被放置在陣列之外。通常是在資料或程式本身的頂部。
這將導致不可預測的結果,至少可以這樣說。而且,沒有錯誤訊息來警告程式設計師超出數組大小。在某些情況下,程式可能會掛起。
因此,以下程式可能會產生不期望的結果:
int a[10],i; for(i=0;i<=20;i++) a[i]=i;
以下是顯示兩個陣列總和的C程式:
即時示範
#include<stdio.h> void main(){ //Declaring array with compile time initialization// int array1[5],array2[5],sum[5]; //Declaring variables// int i; //Printing O/p using for loop// printf("Enter the values of array1 :</p><p>"); for(i=0;i<5;i++){ printf("array1[%d] : </p><p>",i); scanf("%d",&array1[i]); } printf("Enter the values of array2 :</p><p>"); for(i=0;i<5;i++){ printf("array2[%d] :</p><p>",i); scanf("%d",&array2[i]); } printf("Elements in the sum of array1 and array2 are:</p><p> "); for(i=0;i<5;i++){ sum[i]=array1[i]+array2[i]; printf("%d ",sum[i]); } }
當上述程式執行時,它產生下列結果−
Enter the values of array1 : array1[0] :2 array1[1] :3 array1[2] :1 array1[3] :2 array1[4] :3 Enter the values of array2 : array2[0] :4 array2[1] :5 array2[2] :3 array2[3] :2 array2[4] :1 Elements in the sum of array1 and array2 are: 6 8 4 4 4
以上是C語言中數組的限制是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!