広告スペース

確認問題(配列)

配列のインデックス、sizeof、範囲外アクセスの理解度を確認しましょう。

確認問題1 ― 配列の初期化

int a[5] = {10, 20, 30, 40, 50};
printf("%d\n", a[2]);

出力結果は?

20
30
10
コンパイルエ���ー
解説: 配列のインデックスは0から始まる。a[0]=10, a[1]=20, a[2]=30

確���問題2 ― 配列の要素数

int a[] = {3, 1, 4, 1, 5, 9};
printf("%lu\n", sizeof(a) / sizeof(a[0]));

出力結果は?

4
6
24
1
解説: sizeof(a) は配列全体のバイト数(24)、sizeof(a[0]) は要素1つのバイト数(4)。
24 / 4 = 6。これは配列の要素数を求める定番テクニック���す。

確認問題3 ― 範囲外アクセス

int a[3] = {10, 20, 30};
printf("%d\n", a[3]);

出力結果は?

0
30
コンパイルエラー
未定義動作(不定値)
解説: a[3] は範囲外(有効は a[0]〜a[2])。
Cではコンパイルエラーにならないが、未定義動作。何が起こるか保証されず、セキュリティホールにもなります。

確��問題4 ― forで配列を処理

int a[4] = {2, 4, 6, 8};
int sum = 0;
for (int i = 0; i < 4; i++) {
    sum += a[i];
}
printf("sum = %d\n", sum);

��力結果は?

sum = 16
sum = 20
sum = 10
sum = 8
解説: 2+4+6+8 = 20。配列の全要素を for で走査して合計する基本パターンです。

結果

回���してください
配列の講座に戻る ホームへ

この講座の理解を深めるおす���め書��

サイトで動きを理解し、書籍で演習量を補うと効果的です

📘
苦しんで覚えるC言語
MMGames 著
初心者向けの定番入門書。丁寧な解説で基礎を固められます。
Amazon���見る
📗
新・明解C言�� 入門編
柴田望洋 著
図解が豊富で、演習問題も充実。大学の教科書としても採用多数。
Amazonで見る
📙
プログラミング言語C 第2版
B.W.カーニハン, D.M.リッチー 著
通称K&R。C言語の原典。基礎を終えた後のステップアップに最適。
Amazonで見る

※ 上記リンク���アフィリエイトリンクです。購入によりサイト運営を支援いただけます。

この記事をシェア
X(Twitter)でシェア Facebookでシェア LINEで送る はてブ