Menu
Coddy logo textTech

要素へのアクセス

CoddyのCジャーニー「Fundamentals」セクションの一部 — レッスン 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" と出力します

配列のインデックスは 0 から始まることを忘れないでください。例えば、6番目の要素が必要な場合は array[5] にアクセスする必要があります。

チートシート

配列は同じ型の複数の値を格納します。配列のインデックスは0から始まります。

整数型の配列を作成します:

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

角括弧とインデックスを使用して要素にアクセスします:

int firstElement = numbers[0];  // 10を取得
int thirdElement = numbers[2];  // 30を取得

配列の境界外の要素にアクセスすると、未定義の動作が発生し、クラッシュの原因となる可能性があります。

自分で試してみよう

#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腕試し

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

Fundamentalsのすべてのレッスン