C言語は、シンプルながらも強力なプログラミング言語として、システム開発や組み込み分野をはじめ多くの現場で利用されています。その中でも「構造体」は、複数の異なる型のデータをひとつにまとめて管理できる便利な機能です。たとえば、個人情報や座標データなど、現実世界の複雑なデータ構造を効率的に表現したいときに欠かせません。初心者から中級者まで、C言語を学ぶうえで構造体の理解は避けて通れない重要なテーマです
C言語の構造体(Structure)は、関連する複数のデータをひとつにまとめて扱えるユーザー定義型です。たとえば、氏名・年齢・住所など、異なる型の情報を1つのまとまりとして管理できるため、個人情報や座標情報などのデータ構造を効率的に表現できます。
struct 構造体名 {
型名 メンバ名1;
型名 メンバ名2;
// ...
};
例:個人情報の構造体
struct Person {
char name[32];
int age;
char address[64];
};
struct 構造体名 変数名;
で宣言します。{}
でメンバごとに値を指定します。struct Person p1 = {"山田太郎", 20, "東京都"};
p1.age = 21;
struct Person *pp = &p1; printf("%d", pp->age);
typedef
を使うことで、struct
の記述を省略し、より簡潔に記述できます。typedef struct {
char name[32];
int age;
} Person;
Person p2 = {"佐藤花子", 25};
Person people;
Person *p = &people;
項目 | 構造体 | 配列 |
---|---|---|
型 | 異なる型をまとめられる | 同じ型のみ |
アクセス | メンバ名でアクセス | インデックスでアクセス |
拡張性 | メンバ追加・変更が容易 | 要素型を変えられない |
.
、ポインタ経由は->
を使う構造体を使いこなすことで、C言語のプログラムは可読性・保守性・拡張性が大きく向上します。プログラム設計の際は積極的に活用しましょう。
手頃なサイズでかわいいサイドバ…