構造体: データのパッケージ化
バラバラの変数をひとまとめにする「冒険者のリュックサック」。
構造体 (Structure)
異なる型の変数をまとめて、新しい型を作る機能。
メンバ (Member)
構造体の中に入っている変数のこと。
アロー演算子 (->)
ポインタからメンバにアクセスするための記号。(*p).x の糖衣構文。
関連データをひとまとめに
RPGのキャラクターデータを作るとします。「HP(int)」「名前(char配列)」「攻撃力(int)」といった異なる型のデータが必要です。これを別々の変数で管理するのは大変です。
構造体 (struct) は、これらを一つの「型」としてパッケージ化する機能です。オブジェクト指向言語における「クラス」の祖先にあたります(ただしメソッドは持ちません)。
// 構造体の定義struct User { int id; char name[50]; int age;};
int main(void) { // 宣言 struct User u1;
// 代入 u1.id = 1; strcpy(u1.name, "Alice"); // 文字列コピー u1.age = 20;
// 表示(.を使う) printf("User: %s (%d)\n", u1.name, u1.age); return 0;}