1. ホーム
  2. c

[解決済み] 構造体を関数に渡す

2022-03-01 14:56:03

質問

私は新しいCプログラマーですが、どのようにして struct を関数に渡すことができます。エラーが発生し、正しい構文がわかりません。以下はそのコードです...。

構造体です。

struct student{
    char firstname[30];
    char surname[30];
};

struct student person;

呼び出す。

addStudent(person);

プロトタイプです。

void addStudent(struct student);

と実際の関数があります。

void addStudent(person)
{
    return;
}

コンパイラーエラーです。

21行目: 警告: 怪しげなタグの宣言: struct student
223 行目:引数#1 はプロトタイプと互換性がありません。

どのように解決するのですか?

ライン関数の実装が必要です。

void addStudent(struct student person) {

}

person は型ではなく変数なので、関数パラメータの型として使用することはできません。

また、構造体が関数のプロトタイプの前に定義されていることを確認してください。 addStudent プロトタイプで使用されるためです。