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

Cプログラミングでのコンパイル時と実行時の初期化について説明しますか?


配列の概念をコンパイル時と実行時の初期化について考えてみましょう-

配列

配列は、隣接するメモリ位置に格納されているアイテムのコレクションであり、要素はインデックスを使用してアクセスできます。

コンパイル時配列の初期化

コンパイル時の初期化では、ユーザーはプログラム自体に詳細を入力する必要があります。

コンパイル時の初期化は、変数の初期化と同じです。配列の初期化の一般的な形式は次のとおりです-

構文

type name[size] = { list_of_values };
//integer array initialization
int rollnumbers[4]={ 2, 5, 6, 7};
//float array initialization
float area[5]={ 23.4, 6.8, 5.5,7.3,2.4 };
//character array initialization
char name[9]={ 'T', 'u', 't', 'o', 'r', 'i', 'a', 'l', '\0' };

以下は配列を表示するCプログラムです-

#include<stdio.h>
void main(){
   //Declaring array with compile time initialization//
   int array[5]={1,2,3,4,5};
   //Declaring variables//
   int i;
   //Printing O/p using for loop//
   printf("Displaying array of elements :");
   for(i=0;i<5;i++){
      printf("%d ",array[i]);
   }
}

出力

Displaying array of elements :1 2 3 4 5

ランタイムアレイの初期化

ランタイム初期化を使用すると、ユーザーは、プログラムのさまざまな実行中にさまざまな値を受け入れるか入力する機会を得ることができます。

また、大きな配列またはユーザー指定の値を持つ配列を初期化するためにも使用されます。配列は、scanf()関数を使用して実行時に初期化することもできます。

以下は、実行時コンパイルを使用して配列内のすべての要素の合計と積を計算するCプログラムです-

#include<stdio.h>
void main(){
   //Declaring the array - run time//
   int A[2][3],B[2][3],i,j,sum[i][j],product[i][j];
   //Reading elements into the array's A and B using for loop//
   printf("Enter elements into the array A: \n");
   for(i=0;i<2;i++){
      for(j=0;j<3;j++){
         printf("A[%d][%d] :",i,j);
         scanf("%d",&A[i][j]);
      }
      printf("\n");
   }
   for(i=0;i<2;i++){
      for(j=0;j<3;j++){
         printf("B[%d][%d] :",i,j);
         scanf("%d",&B[i][j]);
      }
      printf("\n");
   }
   //Calculating sum and printing output//
   printf("Sum array is : \n");
   for(i=0;i<2;i++){
      for(j=0;j<3;j++){
         sum[i][j]=A[i][j]+B[i][j];
         printf("%d\t",sum[i][j]);
      }
      printf("\n");
   }
   //Calculating product and printing output//
   printf("Product array is : \n");
   for(i=0;i<2;i++){
      for(j=0;j<3;j++){
         product[i][j]=A[i][j]*B[i][j];
         printf("%d\t",product[i][j]);
      }
      printf("\n");
   }
}

出力

Enter elements into the array A:
A[0][0] :A[0][1] :A[0][2] :
A[1][0] :A[1][1] :A[1][2] :
B[0][0] :B[0][1] :B[0][2] :
B[1][0] :B[1][1] :B[1][2] :
Sum array is :
000
000
Product array is :
000
000

  1. C言語でのモノリシックおよびモジュラープログラミングを説明する

    モノリシックプログラミングとモジュラープログラミングの違いと、長所と短所について、以下で詳しく説明します。 モノリシックプログラミング プログラム全体をmain関数にある単一の関数で作成する場合、それをモノリシックタイプのプログラミングと呼びます。ただし、ロジック全体を1つの関数で記述するのは適切なスタイルではありません。 短所 モノリシックプログラミングの欠点は次のとおりです- プログラムは非常に大きく複雑なようです。 プログラムのデバッグ、テスト、およびメンテナンスは非常に困難です。 モジュラープログラミング プログラムがいくつかの機能部分に分割されている場合、それをモジュラープ

  2. 配列の左回転をCプログラムのO(n)時間とO(1)空間で出力します。

    いくつかのサイズnと複数の整数値の配列が与えられているので、与えられたインデックスkから配列を回転させる必要があります。 -のようなインデックスkから配列を回転させたい 例 Input: arr[] = {1, 2, 3, 4, 5}    K1 = 1    K2 = 3    K3 = 6 Output:    2 3 4 5 1    4 5 1 2 3    2 3 4 5 1 アルゴリズム START Step 1 -> Declare functio