「C の美しさ: 構造体、共用体、列挙型の魔法」

目次

構造

コンソーシアム

列挙する


構造

  • 構造体は、さまざまな種類のデータを組み合わせて 1 つのエンティティを形成できるようにするユーザー定義のデータ型です。
  • 構造体は要素 (メンバーとも呼ばれます) で構成されており、各要素は整数、浮動小数点、文字などの異なるデータ型にすることができます。
  • 構造体の宣言はキーワードを使用し struct、通常は関数の外で定義されます。

簡単な例を見てみましょう。

#include <stdio.h> 

struct Student
{    char name[50];
     int age; float height; 
}; 

int main()
 {  struct Student s;
    strcpy(s.name, "Tom");
    s.age = 18; s.height = 1.75;
    printf("Name: %s\n", s.name); 
    printf("Age: %d\n", s.age);
    printf("Height: %f\n", s.height); 
    return 0; 
}

上記のコードでは、Student名前、年齢、身長の 3 つの要素で構成される という構造体を定義しました。main 関数では、Studenttype の変数を作成しs、そのメンバーをいくつかの値に初期化します。最後に、関数を使用してprintf()値を出力しました。

コンソーシアム

  • 共用体は、構造体に似た別のユーザー定義データ型ですが、一度に 1 つのメンバーのみを保持できます。
  • Union 宣言はキーワードを使用し union、通常は関数の外部でも定義されます。

例は次のとおりです。

#include <stdio.h> 

union Number 
{     int integer;
     float decimal;
 }; 

int main() 
{    union Number n; 
     n.integer = 10; 
     printf("Integer: %d\n", n.integer); 
     n.decimal = 3.14; 
     printf("Decimal: %f\n", n.decimal);
     printf("Integer: %d\n", n.integer); 
     return 0; 
}

上記のコードでは、Number整数と浮動小数点数の 2 つのメンバーで構成される共用体 と呼ばれる共用体を定義しました。main 関数では、Numbertype の変数を作成しn、その整数メンバーを 10 に初期化します。その後、その float メンバーを 3.14 に初期化し、両方のメンバーの値を出力しました。1 つのメンバーの値を変更すると、他のメンバーの値もそれに応じて変更されることに注意してください。

列挙する

  • 列挙は、関連する名前付き値のセットを型に割り当てることができるユーザー定義のデータ型です。
  • 列挙はキーワードを使用して宣言され enum、通常は関数の外部で定義されます。

古いルール、上記のコード:

#include <stdio.h>
 enum Weekday
 { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }; 

int main()
 {    enum Weekday today; 
      today = Wednesday; 
      printf("Today is %d\n", today); 
      return 0;
 }

上記のコードでは、Weekday月曜日から日曜日までの 7 つの値で構成される という列挙型を定義しました。main 関数では、Weekdaytype の変数を作成しtoday、それに Wednesday の値を割り当てます。最後に、関数を使用した値をprintf()出力しました。today

このブログが、初心者が構造体、共用体、列挙の概念と C 言語プログラムでの使用方法を理解するのに役立つことを願っています。不備等ございましたらコメント欄にてご指摘くださいませ〜

おすすめ

転載: blog.csdn.net/C_Small_Cai/article/details/130211055