VC++の構造体について教えてください。
VC++学習中の初心者です。
下記のサンプルに記したように
関数の引数に構造体変数を渡しているのに①
関数側では構造体のタグ名もあるのでしょうか②
これは決まりなのでしょうか?
ご存知の方ご教授くださいませ。
サンプル
struct employee
{
~
};
void show_employee(employee worker) ②
{
~
}
void main(void)
{
employee worker;
show_employee(worker); ①
}
丸数字は (1) などと置き換えて返事します
>関数の引数に構造体変数を渡しているのに(1)
>関数側では構造体のタグ名もあるのでしょうか(2)
>これは決まりなのでしょうか?
(1) や (2) やのコードはどういうファイルに記述していますか
.cpp という拡張子なら C++ のコードですから struct は少し特殊
(デフォルトのアクセス制限が public)な class です
詳しい事は C++ の教科書で調べて下さい
typedef struct <タグ名> {<構造体内部の宣言>} <構造体の別名>
と書かなくても C++ では C での構造体のタグ名が型の名前なのでそのまま
使えるところが C と C++ とで違う点です(間違ってたらごめんなさい)
決まりです。構造体に限りません。
例えばintの場合も
(1)ではint変数を渡しているのに、
(2)には変数の型名もあります。
void show_value(int value) (2)
{
~
}
void main(void)
{
int value = 5;
show_value(value); (1)
}
島さん、dairygoodsさん
どうもありがとうございました。
たいへん良く分りました。