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

ポインタとポインタの関係を表示するCプログラム


Cプログラミング言語では、ポインターへのポインターまたはダブルポインターは、別のポインターのアドレスを保持する変数です。

宣言

以下に、ポインタへのポインタの宣言を示します-

datatype ** pointer_name;

たとえば、int ** p;

ここで、pはポインタへのポインタです。

初期化

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

たとえば、

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

アクセス

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

サンプルプログラム

以下はダブルポインタ用のCプログラムです-

#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

ここで、ポインターとポインターの関係を示す別のCプログラムについて考えてみます。

#include<stdio.h>
void main(){
   //Declaring variables and pointers//
   int a=10;
   int *p;
   p=&a;
   int **q;
   q=&p;
   //Printing required O/p//
   printf("Value of a is %d\n",a);//10//
   printf("Address location of a is %d\n",p);//address of a//
   printf("Value of p which is address location of a is %d\n",*p);//10//
   printf("Address location of p is %d\n",q);//address of p//
   printf("Value at address location q(which is address location of p) is %d\n",*q);//address of a//
   printf("Value at address location p(which is address location of a) is %d\n",**q);//10//
}

出力

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

Value of a is 10
Address location of a is 6422036
Value of p which is address location of a is 10
Address location of p is 6422024
Value at address location q(which is address location of p) is 6422036
Value at address location p(which is address location of a) is 10

  1. forループを使用して1からNまでのすべての素数を表示するCプログラム

    問題 1からnまでのすべての素数を表示するCプログラムを作成します。これは、実行時にユーザーが指定した値です。 解決策 1からnまでのすべての素数を表示するCプログラムは、実行時にユーザーが指定した値です- アルゴリズム 以下に示すのは、1からnまでのすべての素数を表示するアルゴリズムであり、実行時にユーザーが指定した値です。 ステップ1 −n値を読み取ります。 ステップ2 −カウントの初期化=0 ステップ3 − for i=2からn    a. for j = 1 to i    b. if i % j = 0    

  2. Cプログラムの3Dでの2つの平面間の角度?

    ここでは、3次元空間内の2つの平面間の角度を計算する方法を説明します。平面はP1とP2です。以下のような円周率の方程式- 角度が「A」の場合、このルールに従います- 例 #include <iostream> #include <cmath> using namespace std; class Plane{    private:       double a, b, c, d;    public:       Plane(double a = 0, do