ビデオ: 【第七回】ゆっくりと学ぶC言語講座【文字配列】 2024
Cプログラミング言語の 配列 は、同じ型の一連の変数です:十数個のint変数、二三個の二重変数、またはchar変数。配列に同じ値がすべて含まれていません。いいえ、それはあなたが異なる価値に固執する一連の恋人のようなものです。
配列は他の変数と同様に宣言されます。それは型と名前、そして大括弧のセットを与えられます。次のステートメントは、ハイスコア配列を宣言します。
<! - 1 - >int highscore [];
この宣言は不完全です。コンパイラは配列内にいくつの項目または 要素 があるかはまだ分かりません。したがって、ハイスコア配列が3つの要素を保持する場合、次のように宣言されます。
int highscore [3];
この配列には3つの要素があり、それぞれが独自のint値を持ちます。要素は次のようにアクセスされます。
highscore [0] = 750;ハイスコア[1] = 699;ハイスコア[2] = 675;
配列要素は、角括弧内のインデックス番号で参照されます。最初の項目はインデックス0で、覚えておく必要があります。 Cでは、0でカウントを開始しますが、それには利点があるので、それは馬鹿だとは思わないでください。
上記の例では、最初の配列要素highscore [0]に値750が割り当てられています。第2要素、699; 3番目の引数は675です。
初期化後、配列変数はコード内の他の変数と同じように使用されます。
var = highscore [0];
このステートメントは配列要素highscore [0]の値を変数varに格納します。 highscore [0]が750に等しい場合、ステートメントの実行後にvarは750に等しくなります。
ハイスコア、豪華なバージョン
#include int main(){int highscore1、highscore2、highscore3; printf( "あなたの最高得点:"); scanf( "%d"、&highscore1); printf( "あなたの2番目に高いスコア:"); scanf( "%d"、&highscore2); printf( "あなたの3番目に高いスコア:"); scanf( "%d"、&highscore3); puts( "あなたの最高得点はここにあります"); printf( "#1%dn"、highscore1); printf( "#2%dn"、highscore2); printf( "#3%dn"、highscore3);
演習1 : ハイスコアから派生したソースコードを書き換え、4番目のハイスコアを追加して配列を使用する - しかし、配列には4つの値があることに留意してください3つではありません。
演習1には多くの解決策が存在します。強引な解決策では、各配列変数を高次のソースコードであるAwful Versionと同様に、行ごとに個別に詰め込みます。より良い、より洞察的な解決策は、より良いバージョンであるハイスコアで提供されます。
ハイスコア、より良いバージョン
#include int main(){int highscore [4]; int x; for(x = 0; x <4; x ++){printf( "あなたの#%d点数:"、x + 1); scanf( "%d"、&highscore [x]);} puts( "あなたのハイスコアです"); (x = 0; x <4; x ++)printf( "#%d%dn"、x + 1、highscore [x]); return(0);}
ハイスコアのコードのほとんどは、新しい配列表記法ですが、Better Versionはおなじみです。printf()ステートメント(行10と16)のx + 1引数は、ループ内の x 変数を使用できますが、0ではなく1から始まる値を表示します。Cは番号付けを開始するのが好きです
演習2 : ハイスコアからのソースコードをエディタに入力し、新しいプロジェクトをビルドします。それを実行します。
プログラムの出力は、練習1の出力とほぼ同じですが、練習3の作業で実証されているように、この方法ははるかに効率的です:
演習 3 : 高スコアのソースコード、上位10スコアを入力して表示するようになっています。
配列を使用しないことを選択した場合、演習3の答えをコード化する必要があるとしましょう!
-
配列の最初の要素は0です。
-
配列を宣言するときは、10個の要素に対して10などの要素の完全な数を使用します。要素の添字は0から9までですが、配列のサイズを宣言するときにも10を指定する必要があります。