enumと構造体の違いとは?初心者向けにわかりやすく解説!

  • このエントリーをはてなブックマークに追加
enumと構造体の違いとは?初心者向けにわかりやすく解説!
この記事を書いた人

中嶋悟

名前:中嶋 悟(なかじま さとる) ニックネーム:サトルン 年齢:28歳 性別:男性 職業:会社員(IT系メーカー・マーケティング部門) 通勤場所:東京都千代田区・本社オフィス 通勤時間:片道約45分(電車+徒歩) 居住地:東京都杉並区・阿佐ヶ谷の1LDKマンション 出身地:神奈川県横浜市 身長:175cm 血液型:A型 誕生日:1997年5月12日 趣味:比較記事を書くこと、カメラ散歩、ガジェット収集、カフェ巡り、映画鑑賞(特に洋画)、料理(最近はスパイスカレー作りにハマり中) 性格:分析好き・好奇心旺盛・マイペース・几帳面だけど時々おおざっぱ・物事をとことん調べたくなるタイプ 1日(平日)のタイムスケジュール 6:30 起床。まずはコーヒーを淹れながらニュースとSNSチェック 7:00 朝食(自作のオートミールorトースト)、ブログの下書きや記事ネタ整理 8:00 出勤準備 8:30 電車で通勤(この間にポッドキャストやオーディオブックでインプット) 9:15 出社。午前は資料作成やメール返信 12:00 ランチはオフィス近くの定食屋かカフェ 13:00 午後は会議やマーケティング企画立案、データ分析 18:00 退社 19:00 帰宅途中にスーパー寄って買い物 19:30 夕食&YouTubeやNetflixでリラックスタイム 21:00 ブログ執筆や写真編集、次の記事の構成作成 23:00 読書(比較記事のネタ探しも兼ねる) 23:45 就寝準備 24:00 就寝


enumと構造体の基本的な違いとは?

ログラミングを始めたばかりの人にとって、「enum」と「構造体(struct)」という言葉はよく耳にするけど、何が違うのか分からないことも多いですよね。

enum(列挙型)は、限られた選択肢の中から1つだけを選ぶために使います。たとえば、曜日を表すときには「月曜日」「火曜日」「水曜日」など、決まった数の値の中から1つを指定します。

一方、構造体(struct)は、いろいろな種類のデータをまとめて1つのまとまりとして扱えるものです。例えば「人」という構造体なら、名前・年齢・身長など異なる情報をひとまとめに保存できます。

このように、enumは「どれか一つを選ぶ」ため、構造体は「いろんな情報をまとめる」ために使うと覚えましょう。


enumと構造体の具体的な使い方と例

では、実際にどういう風に使うかを具体的に説明します。

例えば、「天気」を表すenumは次のようになります。

enum Weather { Sunny, Cloudy, Rainy }
この場合、Weatherは天気の状態を表し、Sunny(晴れ)、Cloudy(曇り)、Rainy(雨)の3つの選択肢から1つだけ選べます。

一方、構造体の例は「人」の情報をまとめるときに使います。

struct Person { string name; int age; float height; }
このように、名前・年齢・身長と異なる種類の情報を1つにまとめて扱えます。

enumは値の種類を管理するのに便利で、構造体は関連する複数のデータをまとめるのに便利だと覚えましょう。


enumと構造体の違いを分かりやすく比較!

ここで、enumと構造体の違いを表にまとめてみます。

able border="1">項目enum(列挙型)構造体(struct)目的限られた選択肢の中から1つを選ぶ異なる種類のデータを1つにまとめる使い方状態や種類を表現する複数の情報を1つのまとまりにするデータの種類同じ型の定数を複数持てる異なる型の変数をまとめられる例曜日・天気・スイッチの状態など人の情報・商品の詳細・座標など

この表を見れば、enumは「決まった選択肢」、構造体は「まとめる箱」というイメージが強いことがわかりますね。

どちらもプログラミングで大切な役割を持っているので、使いどころを理解してぜひ活用してください。

ピックアップ解説

enumはプログラミングで「限定された選択肢の中から1つだけを選ぶ」ために使われますが、実はenumの各値は内部的には数字として扱われています。

例えば、enumの値が0から始まる整数で管理されているので、enumに新しい選択肢を足すときには順序や割り当てる数値に注意が必要です。

このことを知っておくと、enumを使うときのバグを防ぎやすくなりますし、enumの仕組みをさらに理解しやすくなりますよ。


ITの人気記事

ズームとズームワークプレイスの違いとは?初心者でもわかる徹底解説!
1298viws
青写真と青焼きの違いとは?簡単解説でわかりやすく理解しよう!
1027viws
「画素(ピクセル)とは何?解説と画像の違いをやさしく理解しよう」
900viws
CADデータとDXFデータの違いを徹底解説!初心者でもわかる使い分けのポイント
809viws
スター結線とデルタ結線の違いを徹底解説!初心者でも分かる電気の基本
786viws
初心者でもわかる!しきい値と閾値の違いを徹底解説
655viws
5GとXi(クロッシィ)ってどう違うの?初心者にもわかりやすく解説!
627viws
RGBとsRGBの違いって何?初心者でもわかる色の基本知識
607viws
HTTPとHTTPSの違いをわかりやすく解説!安全なネット利用のために知っておきたいポイント
582viws
API仕様書とIF仕様書の違いを徹底解説!初心者でもわかるポイントとは?
573viws
RGBとVGAの違いを徹底解説!初心者にもわかりやすい映像信号の基礎知識
569viws
インターフォンとインターホンの違いって何?わかりやすく解説!
555viws
IPアドレスとデフォルトゲートウェイの違いをわかりやすく解説!ネットワークの基本を理解しよう
546viws
SSDとUSBメモリの違いを徹底解説!初心者でもわかる保存デバイスの選び方
543viws
インプレッション数とクリック数の違いを徹底解説 — CTRを上げるための基礎と落とし穴
516viws
モバイルデータ通信番号と電話番号の違いを徹底解説!初心者でもわかるスマホの基礎知識
489viws
グロメットとコンジットの違いとは?わかりやすく解説!
479viws
USBフラッシュメモリとUSBメモリの違いとは?初心者でもわかる解説!
473viws
USB充電器とアダプターの違いとは?初心者にもわかりやすく解説!
467viws
ベアリングとリテーナーの違いとは?初心者でもわかる基本の解説
455viws

新着記事

ITの関連記事