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パラメーターはすでに0始まりです。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オンラインコンパイラ