Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

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


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

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

制限

アレイの制限について以下に説明します-

  • 形成されるアレイは均質になります。つまり、整数配列では整数値のみを格納できますが、浮動小数点配列では浮動小数点値と文字配列のみに文字のみを含めることができます。したがって、2つのデータ型の値を持つ配列はありません。

  • 配列を宣言する際、配列のサイズの受け渡しは必須であり、サイズは一定でなければなりません。したがって、メモリの不足または浪費があります。

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

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

  • 下付き文字で入力され、配列サイズを超え、配列の外側に配置されるデータ。通常、データまたはプログラム自体の上にあります。

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

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

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

以下は、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 :\n");
   for(i=0;i<5;i++){
      printf("array1[%d] : \n",i);
      scanf("%d",&array1[i]);
   }
   printf("Enter the values of array2 :\n");
   for(i=0;i<5;i++){
      printf("array2[%d] :\n",i);
      scanf("%d",&array2[i]);
   }
   printf("Elements in the sum of array1 and array2 are:\n ");
   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

  1. C言語でのシフト演算とは何ですか?

    問題 C言語を使用して、数値の左シフト、右シフト、および補数を表示する簡単なプログラムは何ですか? 解決策 左シフト 変数の値が1回左シフトされると、その値は2倍になります。 たとえば、a =10、次にa <<1 =20 右シフト 変数の値を1回右シフトすると、その値は元の値の半分になります。 1 =5 例 以下はシフト操作のCプログラムです- #include<stdio.h> main (){    int a=9;    printf("Rightshift of a = %d\n",a&

  2. C言語でのさまざまな検索手法は何ですか?

    検索手法とは、要素のリストから重要な要素を見つけることです。 指定された要素がリストに存在する場合、検索プロセスは成功したと言われます。 指定された要素がリストに存在しない場合、検索プロセスは失敗したと言われます。 C言語は、2種類の検索手法を提供します。それらは次のとおりです- 線形検索 二分探索 線形探索 キー要素の検索は直線的に行われます。 これは最も簡単な検索手法です。 リストが並べ替えられることは想定されていません。 制限-より多くの時間を消費し、システムの電力を削減します。 入力(i / p) ソートされていない要素のリスト、キー。 出力(o /