C ++でポインタを実装する方法は?



この記事では、C ++でのポインターの概念を紹介し、その後、サポートする実用的なデモンストレーションを行います。

ポインタ C ++で C ++で別の変数のアドレスを保持する変数です。アドレスはポインタ変数に格納され、参照による呼び出しの実装に役立ちます。

この記事では、次のポイントについて説明します。





C ++のポインタに関するこの記事から始めます

構文:



Javaでセマフォを使用する方法
データ型*ポインタ名例:int * ptr
  • ポインター変数には、名前の前に*記号が付いています。
  • ポインターは、ロケーターまたはインジケーターとも呼ばれます。

ポインタの使用:

  • 動的メモリ割り当て
  • 配列、構造、および関数のさまざまなプログラムで

コード例は次のとおりです。

#include using namespace std int main(){int num = 17 int * ptr ptr =&num cout<< 'Value at ptr = ' << ptr << 'n' cout << 'Value at var = ' << num << 'n' cout << 'Value at *ptr = ' << *ptr << 'n' } 

出力:
出力-C ++のポインタ-Edureka



説明:

上記のプログラムでは、ポインタの基本的な動作を示しています。値が17の整数変数numがあります。int型のポインター変数ptrがあります。 numのアドレスをポインタptrに割り当てます。

まず、ptrの値、つまりアドレスを出力します。次に、num値を出力し、最後に、ポインターptrが保持する位置の値を出力します。

C ++のポインタに関するこの記事に進む

ポインタと配列:

配列名には最初の要素のアドレスが含まれているため、配列の最初の要素をポインターと見なすことができます。ポインタは次のように使用できます。

コード例は次のとおりです。

#include using namespace std int main(){int arr [3] = {5、10、20} int * ptr ptr = arr cout<< 'Elements of the array are: ' cout << ptr[0] << ' ' << ptr[1] << ' ' << ptr[2] } 
 出力: 

説明:

上記のプログラムでは、配列を使用したポインターの基本的な動作を示しています。値が5、10、20の配列arrがあります。 int型のポインタ変数ptrがあります。 arrのアドレスをポインタptrに割り当てます。

最初に、配列の最初の要素であるptr [0]の値を出力します。次に、2番目と3番目の要素をそれぞれ印刷します。配列要素は連続して格納されるため、ポインタはインクリメントによって配列の他の場所にアクセスできます。

C ++のポインタに関するこの記事に進む

ヌルポインタ:

値がなく、null値を保持するタイプのポインターがあります

int * ptr = NULL

これらは、リンクリストのようなデータ構造で非常に役立ちます。

C ++のポインタに関するこの記事に進む

ボイドポインタ:

これらは、戻り値の型を持たないポインタの型です。

C ++のポインタに関するこの記事に進む

ポインター算術演算:

ポインタに対してさまざまな操作を実行できます。ここにいくつかの重要なタイプがあります。

  • インクリメント(++)
  • デクリメント(—)
  • 2つのポインターの違い(p1-p2)
  • ポインタへの整数の追加(+または+ =)
  • ポインタからの整数の減算(–または-=)

これらの操作のいくつかをデモするコードは次のとおりです。

#include using namespace std int main(){int arr [3] = {10、100、200} int * ptr ptr = arr for(int i = 0 i<3 i++) { cout << 'Value at different locations of array using *ptr = ' << *ptr << 'n' ptr++ } } 

出力:

説明:

上記のプログラムに示されているポインタ変数のインクリメントの簡単な算術演算を示します。

C ++のポインタに関するこの記事に進む

ポインタからポインタへ:

このタイプのシステムには、2つのポインターがあります。最初のポインターは2番目のポインターを指し、2番目のポインターは値を保持している変数を指します。

mysqlワークベンチの使用を開始する

コード例は次のとおりです。

#include using namespace std int main(){int num int * ptr int ** pptr num = 3000 ptr =&num pptr =&ptr cout<< 'Value of num :' << num<< endl cout << 'Value available at *ptr :' << *ptr << endl cout << 'Value available at **pptr :' << **pptr << endl return 0 } 

出力:

C ++のポインタに関するこの記事に進む

関数へのポインタ:

これは、関数へのポインターを渡す方法です。関数パラメーターは、ポインター型として宣言する必要があります。以下のコードに示されています、

#include using namespace std float getAverage(int * arr、int size)int main(){int balance [5] = {1432、232、3232、17、502} float avg avg = getAverage(balance、5)cout<< 'Average value is: ' << avg << endl return 0 } float getAverage(int *arr, int size) { int i, sum = 0 double avg for (i = 0 i < size ++i) { sum += arr[i] } avg = double(sum) / size return avg } 


出力

これが、関数へのポインタを渡す方法です。

これで、「C ++のポインタ」に関するこの記事は終わりです。詳細を知りたい場合は、 信頼できるオンライン学習会社であるEdurekaによる。 は、HibernateやSpringなどのさまざまなJavaフレームワークとともに、コアJavaの概念と高度なJavaの概念の両方についてトレーニングするように設計されています。

質問がありますか?このブログのコメントセクションでそれについて言及してください。できるだけ早くご連絡いたします。