【C言語】ポインタのインクリメントを応用して配列を操作する

この記事では、C言語のポインタを使って配列の要素を変更する方法について解説します。

目次から探す

ポインタを使った配列の要素の変更

配列は、複数のデータをまとめて扱うためのデータ構造です。

C言語では、配列の要素にアクセスするためにポインタを使用することができます。

ポインタを使った要素の書き換え

配列の要素を書き換えるためには、ポインタを使ってその要素のアドレスを指定します。

具体的な手順は以下の通りです。

  1. 配列の先頭要素のアドレスをポインタに代入します。
  2. ポインタを使って要素のアドレスを指定します。
  3. 指定したアドレスの要素を書き換えます。

以下に、具体的なコード例を示します。

#include <stdio.h>
int main() {
    int arr[5] = {1, 2, 3, 4, 5};
    int *ptr = arr; // 配列の先頭要素のアドレスをポインタに代入
    *(ptr + 2) = 10; // 3番目の要素を書き換え
    for (int i = 0; i < 5; i++) {
        printf("%d ", arr[i]);
    }
    return 0;
}

上記のコードでは、配列arrの3番目の要素をポインタptrを使って書き換えています。

出力結果は 1 2 10 4 5 となります。

ポインタを使った要素の追加

ポインタを使って配列に要素を追加することはできません。

配列の要素数は宣言時に指定された固定の長さを持っており、要素を追加するためには新しい配列を作成し、既存の要素をコピーする必要があります。

以下に、要素を追加するための手順を示します。

  1. 新しい要素を追加するための配列を作成します。
  2. 既存の要素を新しい配列にコピーします。
  3. 新しい要素を新しい配列の末尾に追加します。

具体的なコード例は省略しますが、この手順を実装することで要素の追加が可能となります。

ポインタを使った要素の削除

ポインタを使って配列から要素を削除することはできません。

配列の要素数は宣言時に指定された固定の長さを持っており、要素を削除するためには新しい配列を作成し、削除したい要素を除いた既存の要素をコピーする必要があります。

以下に、要素を削除するための手順を示します。

  1. 新しい要素を削除するための配列を作成します。
  2. 既存の要素を新しい配列にコピーしますが、削除したい要素は除きます。

具体的なコード例は省略しますが、この手順を実装することで要素の削除が可能となります。

以上が、ポインタを使った配列の要素の変更です。

目次から探す