ホームページ  >  記事  >  バックエンド開発  >  C言語の配列の制限は何ですか?

C言語の配列の制限は何ですか?

王林
王林転載
2023-08-25 17:21:171782ブラウズ

C言語の配列の制限は何ですか?

配列は、同じ型の要素の固定サイズの連続コレクションを格納できるデータ構造です。

配列はデータのコレクションを格納するために使用されますが、配列を同じ型の変数のコレクションと考えるとより便利です。

制限事項

配列の制限事項は次のとおりです:

  • 形成される配列は均一になります。つまり、整数配列には整数値のみ、浮動小数点配列には浮動小数点値のみ、文字配列には文字のみを保存できます。したがって、配列に両方のデータ型の値を同時に持つことはできません。

  • 配列を宣言する場合、配列のサイズを渡すことは必須であり、サイズは定数である必要があります。したがって、メモリが不足していたり​​、メモリが無駄になっている可能性があります。

  • 配列への要素の挿入または削除には、シフト操作が必要です。

  • 配列は境界をチェックしません: C 言語では、配列に入力された値が配列のサイズを超えているかどうかをチェックできません。

  • 添字を使用して入力されたデータは配列サイズを超えるため、配列の外に配置されます。通常はデータまたはプログラム自体の上にあります。

  • これは、控えめに言っても、予測できない結果につながります。さらに、配列サイズの超過をプログラマに警告するエラー メッセージは表示されません。場合によっては、プログラムがハングする可能性があります。

したがって、次のプログラムは望ましくない結果を生成する可能性があります:

int a[10],i;
for(i=0;i<=20;i++)
a[i]=i;

Example

以下は 2 つの配列の合計を表示する 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。