TECH I.S.

C ポインタ


ポインターの作成

前の章で、参照演算子 & を使用して変数のメモリ アドレスを取得できることを学びました。

int myAge = 43; // an int variable printf("%d", myAge);  // Outputs the value of myAge (43) printf("%p", &myAge); // Outputs the memory address of myAge (0x7ffe5367e044)

自分で試してみる »

ポインタは、別の変数のメモリ アドレスを値として格納する変数です。 ポインタ変数は、同じ型のデータ型 (int など) を指し、演算子を使用して作成されます。

使用している変数のアドレスがポインタに割り当てられます。

int myAge = 43;     // An int variable <strong>int* ptr = &myAge;</strong>  // A pointer variable, with the name ptr, that stores the address of myAge // Output the value of myAge (43) printf("%d\n", myAge); // Output the memory address of myAge (0x7ffe5367e044) printf("%p\n", &myAge); // Output the memory address of myAge with the pointer (0x7ffe5367e044) printf("%p\n", ptr);

自分で試してみる»

例の説明

int 変数 (myAge) を指す、ptr という名前のポインタ変数を作成します。 ポインタの型は、操作している変数の型 (この例では int) と一致する必要があることに注意してください。

& 演算子を使用して、myAge 変数のメモリ アドレスを保存し、それをポインタに割り当てます。

現在、ptrmyAge のメモリ アドレスの値を保持しています。


逆参照

上の例では、ポインタ変数を使用して変数のメモリ アドレスを取得しました (& 参照演算子と併用)。

演算子 (逆参照演算子) を使用して、ポインタが指す変数の値を取得することもできます。

int myAge = 43;     // Variable declaration int* ptr = &myAge;  // Pointer declaration // Reference: Output the memory address of myAge with the pointer (0x7ffe5367e044) printf("%p\n", ptr); // Dereference: Output the value of myAge with the pointer (43) printf("%d\n", *ptr);

自分で試してみる »

注意してください*sign はコード内で 2 つの異なることを行うため、ここでは混乱を招く可能性があります。

  • 宣言で使用する場合 (int* ptr)、それはポインター変数.
  • 宣言で使用されていない場合は、逆参照演算子.

お役立ち情報:C でポインター変数を宣言するには、次の 2 つの方法があります。

int* myNum; int *myNum;

ポインターに関する注意事項

ポインターは、C を他のプログラミング言語から際立たせるものの 1 つです。パイソンジャワ.

これらは、コンピューターのメモリ内のデータを操作できるため、C では重要です。これにより、コードを削減し、パフォーマンスを向上させることができます。リスト、ツリー、グラフなどのデータ構造に精通している場合は、ポインターがそれらの実装に特に役立つことを知っておく必要があります。また、ポインターを使用する必要がある場合もあります。たとえば、ファイル.

しかし、注意してください;ポインタは、他のメモリ アドレスに格納されているデータを損傷する可能性があるため、注意して取り扱う必要があります。



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細