は C のストレージ クラスであるため、変数typedef
では使用できません。static
たとえばtypedef static int SI
、SI a
は機能しません。では、typedef で static を使用する他の方法はありますか?
私はこれができることをすでに知っています#define SI static int
。
は C のストレージ クラスであるため、変数typedef
では使用できません。static
たとえばtypedef static int SI
、SI a
は機能しません。では、typedef で static を使用する他の方法はありますか?
私はこれができることをすでに知っています#define SI static int
。
できません。
typedefは変数のインスタンスを宣言するのではなく、型(実際には型エイリアス) を宣言します。
staticは、タイプではなく、インスタンスに適用する修飾子です。
とんでもない。C 標準がstorage durationstatic
と呼ぶものを指定します。これには、静的、自動、および割り当てが可能です。typedef は、既存の型に新しい名前を付けるだけです。保存期間は型名のプロパティではないため、typedef に期間を含めることはできません。
マクロ#define static int SI
の意図がわかりません。怪しいですね。
あなたは誤解していると思いますtypedef
。typedef
型エイリアス、つまり新しい型名を導入するために使用されるため、型情報にのみ適用されます。static
、auto
などはすべて特定の変数に適用されます。