C言語の構造体を使った構文作成例

構造体の基礎は、小学校のクラス(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エンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!