1

は C のストレージ クラスであるため、変数typedefでは使用できません。staticたとえばtypedef static int SISI aは機能しません。では、typedef で static を使用する他の方法はありますか?

私はこれができることをすでに知っています#define SI static int

C のストレージ クラス

4

3 に答える 3

6

できません。

typedefは変数のインスタンスを宣言するのではなく、(実際には型エイリアス) を宣言します。

staticは、タイプではなく、インスタンスに適用する修飾子です。

于 2012-07-29T19:09:38.813 に答える
2

とんでもない。C 標準がstorage durationstaticと呼ぶものを指定します。これには、静的、自動、および割り当てが可能です。typedef は、既存の型に新しい名前を付けるだけです。保存期間は型名のプロパティではないため、typedef に期間を含めることはできません。

マクロ#define static int SIの意図がわかりません。怪しいですね。

于 2012-07-29T19:48:30.903 に答える
0

あなたは誤解していると思いますtypedeftypedef型エイリアス、つまり新しい型名を導入するために使用されるため、型情報にのみ適用されます。staticautoなどはすべて特定の変数に適用されます。

于 2012-07-29T19:10:06.460 に答える