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

Cプログラミングにおけるポインターの配列とポインターからポインターへの概念を説明する


ポインタの配列

他のデータ型と同様に、ポインタ配列を宣言することもできます。

宣言

datatype *pointername [size];

たとえば、int * p [5]; //5つの整数要素アドレスを保持できるポインタの配列を表します

Cプログラミングにおけるポインターの配列とポインターからポインターへの概念を説明する

初期化

「&」は初期化に使用されます

たとえば、

int a[3] = {10,20,30};
int *p[3], i;
for (i=0; i<3; i++) (or) for (i=0; i<3,i++)
p[i] = &a[i];
p[i] = a+i;

アクセス

アクセスには間接演算子(*)を使用します。

たとえば、

for (i=0, i<3; i++)
printf ("%d" *p[i]);

#include<stdio.h>
main (){
   int a[3] = {10,20,30};
   int *p[3],i;
   for (i=0; i<3; i++)
      p[i] = &a[i]; //initializing base address of array
   printf (elements of the array are”)
   for (i=0; i<3; i++)
      printf ("%d \t", *p[i]); //printing array of pointers
   getch();
}

出力

elements at the array are : 10 20 30

ポインタからポインタ

ポインタへのポインタは、別のポインタのアドレスを保持する変数です。

宣言

datatype ** pointer_name;

たとえば、int ** p; //pはポインタへのポインタです

初期化

「&」は初期化に使用されます。

例-

int a = 10;
int *p;
int **q;
p = &a;

アクセス

アクセスには間接演算子(*)を使用します。

#include<stdio.h>
main (){
   int a = 10;
   int *p;
   int **q;
   p = &a;
   q = &p;
   printf("a =%d",a);
   printf("a value through pointer = %d", *p);
   printf("a value through pointer to pointer = %d", **q);
}

出力

a=10
a value through pointer = 10
a value through pointer to pointer = 10

  1. C言語でのポインタアクセスの概念を説明する

    ポインタは、他の変数のアドレスを格納する変数です。 ポインタの宣言、初期化、アクセス 次のステートメントを検討してください- int qty = 179; ポインタの宣言 int *p; 「p」は、別の整数変数のアドレスを保持するポインタ変数です。 ポインタの初期化 アドレス演算子(&)は、ポインタ変数を初期化するために使用されます。 int qty = 175; int *p; p= &qty; 文字列の配列内の要素にアクセスする際にポインタがどのように役立つかの例を考えてみましょう。 このプログラムでは、特定の場所に存在する要素にアクセスしようとしています。操

  2. C#でクラスの概念を説明する

    クラスは、C#の必須タイプの1つです。クラスは、問題のドメインに関連するオブジェクトの青写真と考えることができます。これは、オブジェクトを作成するためのテンプレートであり、このクラスから作成されたオブジェクトのセットによって共有される構造と動作を定義します。簡単に言うと、クラスはCookieカッターであり、オブジェクトはCookie自体です。 クラスは、オブジェクト指向プログラミングの重要な概念であるカプセル化も可能にします。これは、データとデータを処理する操作を1か所で組み合わせ、そのオブジェクトのユーザーにシンプルなAPIを提供することを意味します。クラスを使用すると、データをカプセル化