ポインタとポインタの関係を表示する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
-
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
-
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