ITメモ
C言語 / Programming Language C
開発環境 / Development Environment
【Mac】Xcode【Win】Visual Stadio
基礎 / Basic
About C言語書式コメントコンパイルとリンクメイクファイル / Makefileヘッダファイル変数定数型 / Type配列 / Arrayポインタ / Pointer演算子 / Operator制御文 / Control Statement関数指定子 / 修飾子構造体と共用体 / Structure & Unionプリプロセッサ / PreprocessorthisキーワードTypedef
入出力 / Input & Output
入出力入力フォーマット指定子出力フォーマット指定子「printf」関数を使って文字を出力・表示させる方法「printf_s」関数を使って文字を出力・表示させる方法「scanf」関数を使って入力させる方法「scanf_s」関数を使って入力させる方法「getchar」関数を使って「1文字」だけ入力させる方法「gets」関数を使って「文字列」を入力させる方法
文字列 / String
文字列 / String「snprintf」関数で「配列」に文字列を書き込む方法
ネットワーク / Network
memset - メモリブロックのセット
メモリー管理
メモリー
オペレーション / Operation
ファイルを操作をする方法コマンドラインプログラム / Command-Line Programプロセス / Processソケット通信 / Socket Communication
用語集 / Glossary
サブルーチン / Subroutineスタックとキュー / Stack & Cueスレッド / Thread
C言語標準ライブラリ(ヘッダファイル)
C言語標準ライブラリ【assert.h】 - 診断機能【complex.h】 - 複素数計算【ctype.h】 - 文字操作【errno.h】 - エラー【fenv.h】 - 浮動小数点環境【float.h】 - 浮動小数点型の特性【inttypes.h】 - 整数型の書式の変換【iso646.h】 - 代替つづり(Alternate spellings)【limits.h】 - 整数型の大きさ【locale.h】 - 文化圏固有操作【math.h】 - 数学【setjmp.h】 - 非局所分岐【signal.h】 - シグナル操作【stdalign.h】 - アライメント【stdarg.h】 - 可変個数の実引数【stdatomic.h】 - アトミック操作【stdbool.h】 - 論理型および論理値【stddef.h】 - 共通の定義【stdint.h】 - 整数型【stdio.h】 - 入出力【stdlib.h】 - 一般ユーティリティ【stdnoreturn.h】 - _Noreturn【string.h】 - 文字列操作【tgmath.h】 - 型総称数学関数(Type-generic math)【threads.h】 - マルチスレッド【time.h】 - 日付及び時間【uchar.h】 - Unicodeユーティリティ【wchar.h】 - 多バイトおよびワイド文字拡張ユーティリティ【wctype.h】 - ワイド文字種分類およびワイド文字大文字小文字変換ユーティリティ
C言語ライブラリ(ヘッダファイル)
C言語ヘッダファイル【winsock.h】





【C言語】配列 / Array

【C言語】
配列 / Array




「C言語」での
「配列」の使い方をまとめています。


配列は、
変数と同様に、
値を格納することができます。


複数の値をまとめて
保存することができ、
便利に利用することができます。





詳しくは、
下記をご参照ください。



配列とは


「配列」とは、
「規則正しく並んでいる」という意味。


プログラミング言語での「配列」というのは、
同じ型の変数を1個以上のグループにしたもので、
配列の中にある「値」の一つ一つに、
「添え字(Index)」を付けて保存している。

値には、規則性のない
「数値」「記号」「文字」「文字列」
を保存することが可能です。


「配列」の中にある1つ1つを
「要素(Element)」といい、
配列名に、「添え字(Key)」を添えて、
各「要素(Element)」を管理する。


Back

配列の書式


配列は、
配列の書式を覚えてしまえば、
簡単に使いこなせる。
シンプルで簡単なので、
プログラミングでは、
良く使用する。


書式で重要なのは、
「添え字(Key)」の数字は、
「0」から開始されるので、
最初の要素に割り振られる「添え字(Key)」は、
「0」となる。
「添え字(Key)」の最大値は、
「要素数-1」となる。



配列の書式
配列の基本書式 型 配列名[添え字] = 要素
型 配列名[key] = Element
型 配列名[数字] = 値


配列の宣言
型 配列名[添え字];
型 配列名[key];
型 配列名[数字];

型 配列名[要素数];
型 配列名[];

例:
int Sample[10];

「添え字(Key)」には、格納したい値「要素」の数を指定するのが一般的。
「要素数」が不明な場合は、記述しなくてもOK。



配列の初期化(宣言 + 値の代入)
型 配列名[数字] = 値
型 配列名[要素数]={値,値,値,値,値,値・・・}
型 配列名[]={値,値,値,値,値,値・・・}
要素数は、省略することも可能。

例:
int sample[ ] = {1,2,3,4,5,6,7,8,9};


■ 4つ目移行の値が「0」になる配列の初期化
int 配列名[10] = {5, 8, 10}

■ 要素数を指定しない配列の初期化(要素数は3個)
int 配列名[] = {5, 8, 10}

■ エラーとなる配列の初期化
int 配列名[2] = {5, 8, 10}



配列の値を参照する方法変数への要素代入
型 代入する変数名=配列変数名 [ 要素番号 ];


配列のサイズ参照
変数=sizeof(配列名);

配列要素の個数を参照
変数=sizeof(配列名) / sizeof(配列名[0]);


Back

「配列の初期化」とは


「配列の初期化」は、
「配列」の「宣言」と「値」を代入するのを、
同時に行うことを、
「配列の初期化」と言います。


「配列の初期化」をする方法
配列の初期化(宣言 + 値の代入)
型 配列名[数字] = 値
型 配列名[要素数]={値,値,値,値,値,値・・・}
型 配列名[]={値,値,値,値,値,値・・・}
要素数は、省略することも可能。

例:
int sample[ ] = {1,2,3,4,5,6,7,8,9};



初期化をするときに、
注意する点を下記にまとめました。
エラーになる記述もあるので、
エラー対策に覚えておくと良い知識もあります。

■ 4つ目移行の値が「0」になる配列の初期化
int 配列名[10] = {5, 8, 10}

■ 要素数を指定しない配列の初期化(要素数は3個)
int 配列名[] = {5, 8, 10}

■ エラーとなる配列の初期化
int 配列名[2] = {5, 8, 10}


Back

配列の宣言


「配列の宣言」は、
「型」「配列名」を決めて、
配列をこれから使うことを明記することを言います。

なので、
配列に値を保存する作業は、
また別に行う必要があります。

ちなみに、
配列の「宣言」と値の「代入」を同時に行うことも可能で、
「配列の初期化」と言います。


配列の「宣言」のときに、
「添え字(Key)」に、要素数を指定すると、
要素数以上の要素(値)を保存すると、
「エラー」となります。


要素数が増える可能性や、
わからない場合は、
「添え字(Key)」は、未記入にします。



配列の宣言をする書式
配列の宣言
型 配列名[要素数];
型 配列名[添え字];
型 配列名[key];
型 配列名[数字];

型 配列名[要素数];
型 配列名[];

例:
int Sample[10];

「添え字(Key)」には、格納したい値「要素」の数を指定するのが一般的。
「要素数」が不明な場合は、記述しなくてもOK。



配列の初期化(宣言 + 値の代入)
型 配列名[要素数]={値,値,値,値,値,値・・・}

型 配列名[]={値,値,値,値,値,値・・・}
この場合要素数は省略可能。

例:
int sample[ ] = {1,2,3,4,5,6,7,8,9};


Back

配列の「代入」「参照」


配列に値を保存したら、
保存した値を、
配列から「参照」する必要が出てきます。

配列の値を参照する方法は、
「配列名」に「添え字(Key)」を指定することで、
「添え字(Key)」部分に保存された「値」を参照することができます。


繰り返し構文「for」などを利用して、
「添え字(Key)」を最後まで繰り返すコードを記述することで、
配列の「添え字(Key)」ごとに、
処理を実行することが可能になります。

プログラムコードでは、
繰り返し構文を使って、
大量のデータを処理する流れは、
良く利用されるコードです。

配列は、
便利に使えるので、
覚えておくと便利だと思います。



配列の情報を参照する書式
配列の値を参照する方法変数への要素代入
型 代入する変数名=配列変数名 [ 要素番号 ];


配列の「サイズ」を参照する方法
変数=sizeof(配列名);


配列要素の「個数」を参照する方法
変数=sizeof(配列名) / sizeof(配列名[0]);




繰り返し構文を使って配列の要素をすべて処理する方法
int Array_01[10] = {1,2,3,4,5,6,7,8,9,10};
int Num_Count;

for(Num_Count=0; Num_Count<10; Num_Count++) {
printf("%d¥n", Array_01[Num_Count]);
}



Back