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

配列全体を引数としてC言語で送信するにはどうすればよいですか?


配列は、共通の名前で保存される関連アイテムのグループです。

配列の宣言

配列を宣言するための構文は次のとおりです-

datatype array_name [size];

初期化

配列は、次の2つの方法で初期化できます-

  • コンパイル時の初期化。
  • 実行時の初期化。

配列は、次のように宣言時に初期化することもできます-

int a[5] = {100,200,300,400,500};

機能

関数は、特定の明確に定義されたタスクを実行する自己完結型のブロックです。関数への引数として配列を渡す2つの方法は次のとおりです-

  • 関数への引数として配列全体を送信します。

  • 関数への引数として個々の要素を送信します。

それでは、配列全体をC言語で機能する引数として送信する方法を理解しましょう。

関数の引数として配列全体を送信する

  • 配列全体を引数として送信するには、関数呼び出しで配列名を送信してみてください。

  • 配列全体を受け取るには、関数ヘッダーで配列を宣言する必要があります。

例1

以下の例を参照してください-

#include<stdio.h>
main ( ){
   void display (int a[5]);
   int a[5], i;
   clrscr( );
   printf ("enter 5 elements");
   for (i=0; i<5; i++)
      scanf("%d", &a[i]);
   display (a); // Sending entire array ‘a’ using array name
   getch( );
}
void display (int a[5]) {//receiving entire array
   int i;
   printf ("elements of the array are");
   for (i=0; i<5; i++)
      printf("%d ", a[i]);
}

出力

上記のコードをまとめてコンパイルして実行すると、次のような結果になります-

Enter 5 elements
10 20 30 40 50
Elements of the array are
10 20 30 40 50

例2

以下は、配列から逆の順序で要素を出力するCプログラムです-

#include<stdio.h>
void main(){
   //Declaring the array - run time//
   int array[5],i;
   void rev(int array[5]);
   //Reading elements into the array//
   printf("Enter elements into the array: \n");
   //For loop//
   for(i=0;i<5;i++){
      //Reading User I/p//
      printf("array[%d] :",i);
      scanf("%d",&array[i]);
   }
   //Displaying reverse order of elements in the array//
   printf("The elements from the array displayed in the reverse order are : \n");
   rev(array); // Sending entire array ‘a’ using array name
   getch();
}
void rev(int array[5]){ //receiving entire array
   int i;
   for(i=4;i>=0;i--){
      //Displaying O/p//
      printf("array[%d] :",i);
      printf("%d\n",array[i]);
   }
}

出力

上記のプログラムをまとめてコンパイルして実行すると、次のような結果になります-

Enter elements into the array:
array[0] :23
array[1] :34
array[2] :12
array[3] :56
array[4] :12
The elements from the array displayed in the reverse order are:
array[4] :12
array[3] :56
array[2] :12
array[1] :34
array[0] :23

  1. C言語のポインタを使用して配列要素の合計を計算するにはどうすればよいですか?

    ポインタは、他の変数のアドレスを格納する変数です。 次のステートメントを検討してください- int qty = 179; ポインタの宣言 ポインタを宣言するための構文は次のとおりです- int *p; ここで、「p」は他の変数のアドレスを保持するポインタ変数です。 ポインタの初期化 アドレス演算子(&)は、ポインタ変数を初期化するために使用されます。 たとえば、 int qty = 175; int *p; p= &qty; ポインタの配列 これは、アドレスのコレクション(または)ポインターのコレクションです。 宣言 以下は、ポインタの配列の宣言です- dataty

  2. 配列のソートされた個別の要素をC言語で出力します

    整数要素の配列が与えられた場合、タスクは重複する値を削除し、ソートされた方法で個別の要素を出力することです。 以下に示すのは、整数型の値を4、6、5、3、4、5、2、8、7、0の形式で格納する配列です。結果は、ソートされた要素を0、2、3、4として出力します。 4、5、5、6、7、8ですが、この結果には重複する値4と5が含まれているため、削除する必要があり、最終結果は0、2、3、4、5、6、7、8になります。 例 Input: array[] = {4, 6, 5, 3, 4, 5, 2, 8, 7, 0} Output: 0 2 3 4 5 6 7 8 説明 したがって、結果を達成