Menu
Coddy logo textTech

構造体の宣言

CoddyのCジャーニー「論理と制御フロー」セクションの一部。レッスン 39/63。

struct とは何かを理解したところで、独自の構造体型を作成する方法を学びましょう。C で struct を宣言するには、カスタムデータ型の設計図を定義する特定の構文に従います。

structを宣言する基本構文は次のとおりです:

struct StructureName {
    datatype member1;
    datatype member2;
    // ... その他のメンバー
};

各部分の仕組みは次のとおりです。まず struct キーワードから始め、続けて構造体の名前を指定し、その後、中かっこの中にすべてのメンバー変数を列挙します。各メンバーは、データ型と名前を指定して、通常の変数と同じように宣言します。閉じ中かっこの後のセミコロンを忘れないでください!

たとえば、2D空間上の点を表す構造体を作成するには、次のようにします。

struct Point {
    int x;
    int y;
};

この宣言は、xy という2つの整数メンバーを含む、struct Point という新しいデータ型を作成します。宣言すると、この構造体型をプログラム全体で使用して、座標情報を整理された形で保持する変数を作成できます。

challenge icon

チャレンジ

簡単

ライブラリシステム内の本を表す struct を定義する C プログラムを作成してください。プログラムでは次のことを行います。

  1. 次のメンバーを含む Book という名前の structDefine します。
    • 本の識別番号を格納する整数型の id
    • 本のタイトルを格納する、サイズ 50 の文字配列 title
    • ページ数を格納する整数型の pages
    • 本の価格を格納する float 型の price
  2. struct を定義した後、確認メッセージ Book struct defined successfully! を出力します。
  3. sizeof() を使用して、Book struct のサイズをバイト単位で、次の形式で出力します:Size of Book struct: [size] bytes
  4. 各メンバーのサイズを個別に出力します。
    • Size of id: [size] bytes
    • Size of title: [size] bytes
    • Size of pages: [size] bytes
    • Size of price: [size] bytes

このチャレンジでは、struct キーワードの適切な使用、適切なデータ型によるメンバー宣言、閉じ中かっこの後のセミコロンなど、struct 宣言構文に関する理解を確認します。また、sizeof() 演算子を使用して、C が struct メンバー用にメモリをどのように割り当てるかについても学びます。

正確なサイズの値はシステムのアーキテクチャによって異なる場合がありますが、プログラムが正常にコンパイルおよび実行されるには、struct の定義構文が正しくなければならないことに注意してください。

自分で試してみよう

#include <stdio.h>

int main() {
    // TODO: ここにBook構造体を定義してください
    
    
    // 確認メッセージを出力する
    printf("Book struct defined successfully!\n");
    
    // TODO: Book構造体とそのメンバーのサイズを出力してください
    
    
    return 0;
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

論理と制御フローのすべてのレッスン

自分で練習してみよう: Cオンラインコンパイラ