Menu
CoddyTech

要素へのアクセス

CoddyのCジャーニー「基礎」セクションの一部。レッスン 54/63。

配列には同じ型の複数の値を格納します。配列内の個々の要素にアクセスするには、インデックス位置を使います。

Cでは、配列のインデックスは0から始まります。つまり、最初の要素はインデックス0にあり、2番目の要素はインデックス1にあり、その後も同様です。

要素が5つの整数配列を作成しましょう:

int numbers[5] = {10, 20, 30, 40, 50};

最初の要素(インデックス 0)にアクセスします:

int firstElement = numbers[0];

上記のコードを実行すると、firstElementには次の値が含まれます。

10

3番目の要素(インデックス2)にアクセスします。

int thirdElement = numbers[2];

これにより、値 30 が thirdElement に格納されます。

配列の範囲外にある要素(今回の例ではnumbers[5]など)にアクセスしようとすると、未定義の動作につながり、プログラムがクラッシュする可能性があります。

challenge icon

チャレンジ

簡単

getElementという名前の関数を書き、その関数が次の処理を行うようにしてください。

  1. 整数配列とそのサイズを引数として受け取る
  2. インデックスを引数として受け取る
  3. インデックスが有効な場合(配列の範囲内の場合)、そのインデックスの要素を出力する
  4. インデックスが無効な場合(配列の範囲外の場合)、Index out of boundsを出力する

index引数はすでにゼロ始まりです。arr[index]としてそのまま使います(インデックス5は6番目の要素です)。有効なインデックスは0からsize - 1までです。

自分で試してみよう

#include <stdio.h>

void getElement(int arr[], int size, int index) {
    // ここにコードを書いてください
}

int main() {
    int size, index;
    
    // 配列のサイズを読み込む
    scanf("%d", &size);
    
    int arr[size];
    
    // 配列の要素を読み込む
    for(int i = 0; i < size; i++) {
        scanf("%d", &arr[i]);
    }
    
    // アクセスするインデックスを読み込む
    scanf("%d", &index);
    
    getElement(arr, size, index);
    
    return 0;
}
quiz icon腕試し

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

基礎のすべてのレッスン

自分で練習してみよう: Cオンラインコンパイラ