要素へのアクセス
CoddyのCジャーニー「基礎」セクションの一部。レッスン 54/63。
配列には同じ型の複数の値が格納されます。配列内の個々の要素にアクセスするには、インデックス位置を使います。
Cでは、配列のインデックスは0から始まります。つまり、最初の要素はインデックス0にあり、2番目の要素はインデックス1にあり、以降も同様です。
5 個の要素を持つ整数配列を作成します。
int numbers[5] = {10, 20, 30, 40, 50};最初の要素(インデックス 0)にアクセスします。
int firstElement = numbers[0];上記のコードを実行すると、firstElement には次の値が含まれます:
103番目の要素(インデックス2)にアクセスします:
int thirdElement = numbers[2];これにより、値 30 が thirdElement に格納されます。
配列の範囲外にある要素(この例では numbers[5] など)にアクセスすると、未定義の動作につながり、プログラムがクラッシュすることがあります。
チャレンジ
簡単getElementという名前の関数を書きます。この関数は次の処理を行います。
- 整数配列とそのサイズをパラメーターとして受け取る
- インデックスのパラメーターを受け取る
- インデックスが有効(配列の範囲内)な場合、そのインデックスの要素を出力する
- インデックスが無効(配列の範囲外)な場合、
Index out of boundsを出力する
配列のインデックスは0から始まることを覚えておきましょう。そのため、6番目の要素を取得するにはarray[5]にアクセスします。
自分で試してみよう
#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;
}このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
基礎のすべてのレッスン
自分で練習してみよう: Cオンラインコンパイラ