Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 構造体の定義と宣言 | 構造体の導入
C構造体

構造体の定義と宣言

メニューを表示するにはスワイプしてください

定義

構造体の宣言はキーワード struct で始まる。

main.c

main.c

1234567
struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; <type_N> <field_N>; };

<type_1> <field_1> - 構造体を構成する変数。構造体の宣言自体はメモリを消費しない、つまり設計図やテンプレートである。

最初の方法

構造体を宣言した後、structというキーワードを使ってその型の変数を作成可能。

main.c

main.c

1
struct <name_of_struct> <name_of_variable>;

複数の構造体変数の宣言は、通常の変数宣言と同様。

main.c

main.c

1
struct <name_of_struct> <name_of_variable_1>, <name_of_variable_2>,<name_of_variable_3>;

第二の方法

この方法では、構造体を定義した直後にインスタンス化することが可能。

main.c

main.c

1234567
struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; <type_N> <field_N>; } <name_of_variable>; // defining of a variable

この方法では、複数の変数を一度に作成するのに便利です。

main.c

main.c

1234567
struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; <type_N> <field_N>; } <name_of_variable_1>, <name_of_variable_2>;

初期化

構造体の初期化 == 新しいデータ型の変数の初期化

構造体を初期化するには、中括弧 {...} を使用する必要があります。

main.c

main.c

12345678910
struct <name_of_struct> { <type_1> <field_1>; <type_2> <field_2>; <type_N> <field_N>; }; // initialization of struct-variable struct <name_of_struct> <name_of_variable> = {field_1, field_2, field_N};

この場合、フィールドは順番に割り当てられ、各フィールドのデータ型を示す必要はありません。これはすでに構造体の設計図で定義されているためです。

struct+structure

Student構造体を例にすると、学生に必要なすべてのフィールド(idnameage)が含まれています。これで、すべてのデータが一箇所にまとめられ、再利用しやすい独立した構造体として管理できます。

question mark

正しい構造体宣言を選択してください:

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  3

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  3
some-alt