🙆
C言語のあれこれ8(配列を伴ったポインタの使用方法)
はじめに
以下の記事の続きになります。
C言語のあれこれ6(条件に関する演算子と条件分岐、繰り返し文の作成方法)
以下の順番で作成していきます。
- 変数と定数の作成方法
- 基本的な値型の種類と構造体の作成方法
- 関数の作成方法
- 計算するための演算子の説明
- 条件に関する演算子と条件分岐、繰り返し文の作成方法
- 配列を伴わないポインタの使用方法
- 配列を伴ったポインタの使用方法 <=今回の記事
- プリプロセッサの利用方法
追記
モチベーションが続いているうちに作り切ってしまおうと考えたため、連投します。(4回目)
本編
ここでは配列を利用した場合のポインタの利用方法を記述します
配列をポインタに入れる方法
配列の[]をつけない場合は先頭アドレスになります。
そのためポインタへ入れる場合は次の通りになります。
ポインタ変数 = 配列変数
また、好きな配列の場所のアドレスを入れることが可能です。
ポインタ変数 = &配列変数[取り出す添え字の番号]
以下は例になります
int* i_pointer = 0;
int i_array[5];
i_pointer = i_array;
i_pointer = &i_array[2];
ポインタのアドレスを変更する方法
ポインタの見ている場所を+と-でアドレスの位置を移動することができます。
i_pointer += 1;//i_array[3]の位置を見ている//
i_pointer -= 2;//i_array[1]の位置を見ている//
また、ポインタ変数のアドレスを変えずに見ているアドレス位置を変更する場合は以下の方法を用いることで対処することができます。
*(ポインタ変数名 記号 移動する数値)
以下は例になります
int value = *(i_pointer + 3);//i_array[4]の位置を見ている//
Discussion