「C言語/中級者向けの話題」の版間の差分

削除された内容 追加された内容
2018年7月1日 (日) 01:10時点における すじにくシチュー (トーク | 投稿記録)による版 をこちらに移動。構造体配列の話題。
 
構造体配列のコード例を追加。WindowsのVisual C++ 2017でのコード例。
7 行
 
学校の成績表なら、まだクラスの生徒数がせいぜい数十名なので、構造体変数を数十個書くという方法でも、なんとか対応できる。だが、もし、大企業による提供サービスの登録者の会員名簿とかだと、会員数が数万名とかになるので、もはや構造体変数を1個ずつ書いていく方式は、不可能である。
 
 
Windowsの Visual C++ での構造体配列のコードの例を下記に示す。
 
(※ 他のコンパイラだとエラーになる場合もある。)
 
<syntaxhighlight lang="cpp">
#include <stdio.h>
#include <string.h>
#include <stdlib.h> // 「続行するには何かキーを押してください . . .」を表示するのに必要。
 
struct seisekihyou {
char seitomei[100];
int syusseki_bangou;
int kokugo_tensuu;
int sugaku_tensuu;
};
 
int main(void)
{
struct seisekihyou student[2]; // 構造体配列の宣言
 
strcpy_s( student[0].seitomei, 10 ,"山田");
student[0].kokugo_tensuu = 80;
student[0].sugaku_tensuu = 70;
 
strcpy_s(student[1].seitomei, 10 , "佐藤");
student[1].kokugo_tensuu = 60;
student[1].sugaku_tensuu = 90;
 
int i = 0;
 
for (i = 0; i<2; i = i + 1)
{
printf("名前: %s, 国語: %d点, 数学: %d点\n", student[i].seitomei, student[i].kokugo_tensuu, student[i].sugaku_tensuu);
}
 
system("pause");// 「続行するには何かキーを押してください . . .」の待機命令
 
return 0;
}
</syntaxhighlight>
 
:※ 上記のコードの動作確認として、 Visual Studio 2017 のCommunity 無料版でのC++で動作を確認ずみである。
 
 
=== 要素として配列を含む構造体 ===