構造体について

[戻る]
涙くん [E-Mail] 2004/01/09(金) 12:58:44
VC++の構造体について教えてください。


VC++学習中の初心者です。
下記のサンプルに記したように
関数の引数に構造体変数を渡しているのに@
関数側では構造体のタグ名もあるのでしょうかA
これは決まりなのでしょうか?
ご存知の方ご教授くださいませ。

サンプル
struct employee
{
〜
};

void show_employee(employee worker) A
{
〜
}

void main(void)
{
    employee worker;

    show_employee(worker);   @
}

2004/01/09(金) 13:22:12
丸数字は (1) などと置き換えて返事します

>関数の引数に構造体変数を渡しているのに(1)
>関数側では構造体のタグ名もあるのでしょうか(2)
>これは決まりなのでしょうか?

(1) や (2) やのコードはどういうファイルに記述していますか
.cpp という拡張子なら C++ のコードですから struct は少し特殊
(デフォルトのアクセス制限が public)な class です
詳しい事は C++ の教科書で調べて下さい

typedef struct <タグ名> {<構造体内部の宣言>} <構造体の別名>

と書かなくても C++ では C での構造体のタグ名が型の名前なのでそのまま
使えるところが C と C++ とで違う点です(間違ってたらごめんなさい)

dairygoods 2004/01/09(金) 13:38:52
決まりです。構造体に限りません。
例えばintの場合も
(1)ではint変数を渡しているのに、
(2)には変数の型名もあります。

void show_value(int value) (2)
{
〜
}

void main(void)
{
    int value = 5;
    show_value(value);   (1)
}

涙くん [E-Mail] 2004/01/09(金) 14:20:41
[[解決]]
島さん、dairygoodsさん

どうもありがとうございました。
たいへん良く分りました。

古いスレッドには追加発言できません。