構造体の定義と使い方
関連する変数を構造体にまとめ、実際のアプリケーションでstructを使う方法を学びます
「構造体の定義と使い方」はCoddyKit上の無料C Academyレッスンです。 これはレッスン1/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C Academyコースには全3レッスンが含まれています。
構造体の定義と使用
構造体の定義と使用
構造体(struct)を使うと、関連する変数を1つの名前にまとめられます。
このレッスンでは、次のことを学びます。
- 構造体の定義と使用方法
- 構造体メンバーへのアクセス方法
- 構造体を関数に渡す方法

構造体とは
構造体とは
構造体は、異なる変数をまとめるユーザー定義のデータ型です。
構造体定義の例:
struct Person {
char name[50];
int age;
float height;
};
ここでは、Person構造体に名前、年齢、身長を保存しています。
構造体の宣言と初期化
構造体の宣言と初期化
構造体を定義したら、宣言して初期化できます。
struct Person p1 = {"Alice", 25, 5.7};
後から値を代入することもできます。
p1.age = 30;構造体メンバーへのアクセス
構造体メンバーへのアクセス
構造体メンバーには、ドット(.)演算子を使ってアクセスします。
例:
printf("Name: %s\n", p1.name);
このコードは、構造体に保存されている名前を出力します。
例:構造体の使用
例:構造体の使用
このプログラムでは、構造体の定義、初期化、メンバーへのアクセスを示します。
#include <stdio.h>
struct Person {
char name[50];
int age;
float height;
};
int main() {
struct Person p1 = {"Alice", 25, 5.7};
printf("Name: %s\n", p1.name);
printf("Age: %d\n", p1.age);
printf("Height: %.1f\n", p1.height);
return 0;
}構造体へのポインター
構造体へのポインター
効率的にメモリを管理するために、構造体へのポインターを使用できます。
例:
struct Person *ptr = &p1;
メンバーには、アロー(->)演算子を使ってアクセスします。
printf("%s", ptr->name);例:構造体へのポインター
例:構造体へのポインター
このプログラムでは、ポインターを使って構造体メンバーにアクセスする方法を示します。
#include <stdio.h>
struct Person {
char name[50];
int age;
};
int main() {
struct Person p1 = {"Bob", 30};
struct Person *ptr = &p1;
printf("Name: %s\n", ptr->name);
printf("Age: %d\n", ptr->age);
return 0;
}構造体を関数に渡す
構造体を関数に渡す
構造体は、値渡しまたは参照渡しで関数に渡せます。
例(参照渡し):
void update(struct Person *p) {
p->age += 1;
}
参照渡しにすると、大きな構造体のコピーを避けられます。
まとめ
まとめ
このレッスンでは、次のことを学びました。
- 構造体の定義と使用方法
- 構造体メンバーへのアクセス方法
- 構造体でポインターを使用する方法
次は、C言語の共用体とメモリ効率について学びます。

よくある質問
「構造体の定義と使い方」レッスンは無料ですか?
はい。「構造体の定義と使い方」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C Academyコースには全3レッスンが含まれています。
「構造体の定義と使い方」で何を学びますか?
関連する変数を構造体にまとめ、実際のアプリケーションでstructを使う方法を学びます ブラウザで直接実行するハンズオンコードでC Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
C Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのC Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/3です。
「構造体の定義と使い方」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このC Academyレッスンでコードを書いて実行できますか?
はい。すべてのC Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。