構造体の基礎は、小学校のクラス(char)と人数(int)を管理するプログラムを作りたいといった時に便利です。
構造体は、違う型(charとint)を組み合わせて作った型のことで、構造帯を使うためには以下のように2つの構文を作成する必要があります。
目次
C言語の構造体の構文
次のプログラムは、幼稚園のクラスと人数を登録するプログラムです。
全部で3クラスでそれぞれのクラス名と人数を登録して画面に出力させます。
# vim test.c
#include <stdio.h>
#define NAME 10
#define ARRAY 3
struct Section{ /* struct Section構造体 */
char section_name[NAME];
int member_num;
};
int main(void)
{
struct Section class[ARRAY]; /* classという構造体の配列 */
int index;
/* 構造体に値を入力する構文 */
for (index = 0; index < ARRAY; index++){
printf("クラス名[%d]:",index);
scanf("%s",class[index].section_name);
printf("人数[%d]",index);
scanf("%d",&class[index].member_num);
}
/* 構造体の配列を画面に出力する */
printf("登録したクラスの名前と人数を出力\n");
printf("-----------------------------------\n");
for (index = 0; index < ARRAY; index++){
printf("クラス名 : %s\n",class[index].section_name);
printf("人数 : %d\n",class[index].member_num);
printf("-----------------------------------\n");
}
return 0;
}
いつもどおりのコンパイル
# gcc test.c -o test
# ./test クラス名[0]:さくら 人数[0]30 クラス名[1]:ばら 人数[1]25 クラス名[2]:すみれ 人数[2]66 登録したクラスの名前と人数を出力 ----------------------------------- クラス名 : さくら 人数 : 30 ----------------------------------- クラス名 : ばら 人数 : 25 ----------------------------------- クラス名 : すみれ 人数 : 66
※構造体のメンバ指定するためには、ドット演算子を使います。
今回の構文は今までのfor文や、変数などを用いて作成しているので注意し、確認しながら設定していきましょう。
以上です。
ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。

コメント