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

C言語でポインタと2次元配列を説明する


ポインタは、別の変数のアドレスを格納する変数です。

機能

  • ポインタはメモリスペースを節約します。

  • メモリ位置に直接アクセスできるため、ポインタの実行時間が短縮されます。

  • ポインタを使用すると、メモリに効率的にアクセスできます。つまり、メモリは動的に割り当てられ、割り当てが解除されます。

  • ポインタはデータ構造で使用されます。

ポインタと2次元配列

2次元配列のメモリ割り当ては次のとおりです-

int a[3] [3] = {1,2,3,4,5,6,7,8,9};

C言語でポインタと2次元配列を説明する

C言語でポインタと2次元配列を説明する

a[1] [2] = *(1234 + 1*3+2)
= *(1234 + 3+2)
= *(1234 + 5*4) // 4 is Scale factor
= * (1234+20)
= *(1254)
a[1] [2] = 6

以下は、ポインタと2次元配列のCプログラムです-

#include<stdio.h>
main ( ){
   int a[3] [3], i,j;
   int *p;
   clrscr ( );
   printf ("Enter elements of 2D array");
   for (i=0; i<3; i++){
      for (j=0; j<3; j++){
         scanf ("%d", &a[i] [j]);
      }
   }
   p = &a[0] [0];
   printf ("elements of 2d array are");
   for (i=0; i<3; i++){
      for (j=0; j<3; j++){
         printf ("%d \t", *(p+i*3+j));
      }
      printf ("\n");
   }
   getch ( );
}

出力

上記のプログラムを実行すると、次の結果が得られます-

enter elements of 2D array
1 2 3 4 5 6 7 8 9
Elements of 2D array are
1 2 3
4 5 6
7 8 9

  1. Cプログラミング言語でのポインタの配列を説明する

    ポインタは、別の変数のアドレスを格納する変数です。 機能 ポインタはメモリスペースを節約します。 メモリ位置に直接アクセスできるため、ポインタの実行時間が短縮されます。 ポインタを使用すると、メモリに効率的にアクセスできます。つまり、メモリは動的に割り当てられ、割り当てが解除されます。 ポインタはデータ構造で使用されます。 ポインタの宣言と初期化 次のステートメントを検討してください- int qty = 179; メモリ内では、変数は次のように表すことができます- ポインタの宣言 これは、以下に示すように、「p」が別の整数変数のアドレスを保持するポインタ変数であることを意味し

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

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