2

本から、構造変数を宣言するには先行するキーワードが必要であることを知りましたが、Bloodshed\DevC++ コンパイラ変数の先行structキーワードがなければ、次のようなエラーなしで宣言できます。struct

struct stype
{
       int ival;
       float fval;
       double dval;
};

そして主に、

stype s;
s.ival=10;s.dval=23.23;s.fval=233.23;
printf("%d %f %lf\n",s.ival,s.fval,s.dval);

これにより、印刷すべきものが正しく印刷されます。変数宣言でこのキーワードを使用する背後に何か変更はありますstructか? なぜこのコードが機能するのですか??

4

1 に答える 1

8

C では必須です (または typedef を使用できます)。C++ では違います。

于 2012-07-06T14:58:26.483 に答える