Menu
Coddy logo textTech

ポインタとは?

CoddyのCジャーニー「Logic & Flow」セクションの一部 — レッスン 1/63。

コンピュータのメモリを、何千もの部屋がある巨大なアパートのようなものだと考えてみてください。各部屋には固有の住所(アドレス)があり、それぞれの部屋には1つのデータを保存できます。C言語で変数を作成すると、これらの部屋の1つに割り当てられます。

ポインタは、数値や文字のような通常のデータを格納するのではなく、別の変数のメモリ上の場所(アドレス)を格納する特殊な型の変数です。紙に誰かのアパートの部屋番号を書き留めるようなものだと考えてください。その紙自体にその人が入っているわけではありませんが、その人がどこにいるのかを正確に教えてくれます。

int age = 25;        // これはメモリ内に変数 'age' を作成します
int *ptr;            // これはアドレスを格納できるポインタを作成します

この例では、ageはあるメモリ番地(例えば1004番地としましょう)に格納されており、ptrage変数を「指し示す」ためにアドレス1004を格納できるポインタ変数です。

ポインタは、メモリアドレスを直接操作できるため、C言語の最も強力な機能の一つです。これにより、プログラムをより効率的にし、動的メモリ割り当てや複雑なデータ構造といった高度なテクニックが可能になります。

チートシート

ポインタは、データを直接格納するのではなく、別の変数のメモリ番地(アドレス)を格納する変数です。

ポインタを宣言するには、* 演算子を使用します:

int age = 25;        // 通常の変数
int *ptr;            // アドレスを格納できるポインタ変数

ポインタを使用すると、メモリを直接操作できるようになり、動的メモリ割り当てや複雑なデータ構造などの高度なプログラミング手法が可能になります。

自分で試してみよう

このレッスンにはコードチャレンジは含まれていません。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Logic & Flowのすべてのレッスン