ネットワークエンジニア系ブログ。エンターテイメント、おすすめ映画、本、キッズ系などお役立ち情報を紹介!

GOISBLOG

medium_35397086

C言語

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

投稿日:2014年11月26日 更新日:

構造体の基礎は、小学校のクラス(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文や、変数などを用いて作成しているので注意し、確認しながら設定していきましょう。

新版 明解C言語 入門編
新版 明解C言語 入門編
posted with amazlet at 14.11.26
柴田望洋
ソフトバンククリエイティブ
売り上げランキング: 15,486

この記事が気に入ったら
いいね!しよう

Twitter で
スポンサーリンク

-C言語
-

Copyright© GOISBLOG , 2016 AllRights Reserved.