ネットワークエンジニア系ブログ。健康、エンターテイメント、映画・ドラマ、本、キッズ系、FXまで!お役立ち情報を紹介!

GOISBLOG

C言語

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

更新日:

構造体の基礎は、小学校のクラス(char)と人数(int)を管理するプログラムを作りたいといった時に便利です。

構造体は、違う型(charとint)を組み合わせて作った型のことで、構造帯を使うためには以下のように2つの構文を作成する必要があります。


TVでも話題になった自宅で無料でオンラインブートキャンプが体験できるようになりました!
プログラミングのオンラインスクールCodeCamp

※資料ダウンロード(無料)はこちらから!
【CodeCamp(コードキャンプ)】公式案内

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文や、変数などを用いて作成しているので注意し、確認しながら設定していきましょう。

○エンジニアの道を目指すならこちらもおすすめです!
⇒ネットワークエンジニアへの技術手順書
⇒サーバーエンジニアへの構築手順書

Linuxアカデミーの資料が無料請求できます!
リナックスアカデミー【公式サイト】



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

Twitter で



  • この記事を書いた人
  • 最新記事

ネットワークエンジニアとしてまた一児の父として仕事とブログ作成に奮闘中! 自分の身の回りにある興味、趣味をひたすらブログで書きまとめています! 私の子供も発達障害のこともあるので色々調べたことなどアップして少しはお役に立てたらと思っております!

-C言語
-

Copyright© GOISBLOG , 2017 All Rights Reserved.