この記事では、C言語におけるポインタへの値の代入方法とその注意点について解説します。
ポインタへの値の代入方法を理解することで、メモリ上のデータを効率的に操作することができます。
初心者の方にもわかりやすく解説していきますので、ぜひご覧ください。
目次から探す
ポインタへの値の代入方法
ポインタは、メモリ上のアドレスを格納するための変数です。
ポインタに値を代入する方法には、いくつかの方法があります。
以下では、直接代入、間接参照演算子を使った代入、ポインタのポインタを使った代入の方法について説明します。
直接代入
ポインタに値を直接代入する方法は、非常にシンプルです。
ポインタ変数に代入したい値を指定するだけです。
int num = 10; // int型の変数numを宣言し、値10を代入
int *ptr; // int型のポインタ変数ptrを宣言
ptr = # // ポインタ変数ptrに変数numのアドレスを代入
printf("numの値: %d\n", num); // numの値を表示
printf("ptrが指す値: %d\n", *ptr); // ptrが指す値を表示
上記の例では、変数num
に値10
を代入し、そのアドレスをポインタ変数ptr
に代入しています。
*ptr
とすることで、ptr
が指すアドレスの値を取得することができます。
間接参照演算子を使った代入
間接参照演算子(*)
を使って、ポインタ変数が指すアドレスに値を代入することもできます。
以下に例を示します。
int num = 10; // int型の変数numを宣言し、値10を代入
int *ptr; // int型のポインタ変数ptrを宣言
ptr = # // ポインタ変数ptrに変数numのアドレスを代入
*ptr = 20; // ptrが指すアドレスに値20を代入
printf("numの値: %d\n", num); // numの値を表示
printf("ptrが指す値: %d\n", *ptr); // ptrが指す値を表示
上記の例では、ポインタ変数ptr
が指すアドレスに対して、*ptr
を使って値20
を代入しています。
その結果、変数num
の値も20
に変わります。
ポインタのポインタを使った代入
ポインタのポインタを使って、ポインタ変数に値を代入することもできます。
以下に例を示します。
int num = 10; // int型の変数numを宣言し、値10を代入
int *ptr; // int型のポインタ変数ptrを宣言
int **pptr; // int型のポインタのポインタ変数pptrを宣言
ptr = # // ポインタ変数ptrに変数numのアドレスを代入
pptr = &ptr; // ポインタのポインタ変数pptrにポインタ変数ptrのアドレスを代入
**pptr = 30; // pptrが指すポインタのポインタが指すアドレスに値30を代入
printf("numの値: %d\n", num); // numの値を表示
printf("ptrが指す値: %d\n", *ptr); // ptrが指す値を表示
printf("pptrが指す値: %d\n", **pptr); // pptrが指すポインタのポインタが指す値を表示
上記の例では、ポインタのポインタ変数pptr
を使って、ポインタ変数ptr
に値30
を代入しています。
その結果、変数num
の値も30
に変わります。
以上が、ポインタへの値の代入方法についての説明です。
ポインタを使って値を代入することで、メモリ上のデータを効率的に操作することができます。
是非、実際にコードを書いて試してみてください。
次のページポインタへの値の代入の注意点