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

C /C++でのポインタ演算


ポインタ演算は、C言語で加算、減算、インクリメントなどの算術演算を実装するために使用されます。加算、減算、インクリメント、デクリメントなどの4つのポインタ演算があります。 32ビットマシンでは、値を2ずつインクリメントまたはデクリメントし、2*の数値を加算または減算します。 64ビットマシンでは、値を4ずつインクリメントまたはデクリメントし、4*の数値を加算または減算します。

これがC言語でのポインタ演算の例です

#include<stdio.h>
int main() {
   int val = 28;
   int *pt;
   pt = &val;
   printf("Address of pointer : %u\n",pt);
   pt = pt + 5;
   printf("Addition to pointer : %u\n",pt);
   pt = pt - 5;
   printf("Subtraction from pointer : %u\n",pt);
   pt = pt + 1;
   printf("Increment to pointer : %u\n",pt);
   pt = pt - 1;
   printf("Decrement to pointer : %u\n",pt);
   return 0;
}

出力

Address of pointer : 3938439860
Addition to pointer : 3938439880
Subtraction from pointer : 3938439860
Increment to pointer : 3938439864
Decrement to pointer : 3938439860

上記のプログラムでは、算術演算(加算、減算など)がポインター変数*ptに適用されます。

int *pt;
pt = &val;
printf("Address of pointer : %u\n",pt);
pt = pt + 5;
printf("Addition to pointer : %u\n",pt);
pt = pt - 5;
printf("Subtraction from pointer : %u\n",pt);
pt = pt + 1;
printf("Increment to pointer : %u\n",pt);
pt = pt - 1;
printf("Decrement to pointer : %u\n",pt);

  1. C / C ++のmemcpy()

    この記事では、C ++ STLでのmemcpy()関数の動作、構文、および例について説明します。 memcpy()とは何ですか? memcpy()関数は、C ++ STLに組み込まれている関数であり、ヘッダーファイルで定義されています。 memcpy()関数は、メモリのブロックをコピーするために使用されます。この関数は、あるメモリ位置から別のメモリ位置に値の数をコピーするために使用されます。 関数の結果は、データのバイナリコピーです。この関数は、終了ソースまたは終了ヌル文字をチェックせず、ソースからnumバイトをコピーするだけです。 例 void memcpy( void* destin

  2. C / C ++のAAツリー?

    コンピュータサイエンスのAAツリーは、順序付けられたデータを効率的に保存および取得するために実装されたバランスの取れたツリーの形式として定義されます。 AAツリーは、エントリの効率的な追加と削除をサポートするバイナリ検索ツリーの形式である赤黒ツリーのバリエーションとして扱われます。赤黒木とは対照的に、AAツリーの赤いノードは、左のサブチャイルドではなく、右のサブチャイルドとしてのみ追加できます。この操作の結果、2-3-4ツリーではなく2-3ツリーのシミュレーションが行われるため、メンテナンス操作が簡素化されます。赤黒木のメンテナンスアルゴリズムでは、ツリーのバランスを適切にとるために、7つの異