由于typedef
是 C 中的存储类,因此不能与static
变量一起使用。例如typedef static int SI
,SI a
将不起作用。那么有没有其他方法可以将静态与 typedef 一起使用?
我已经知道这是可以做到#define SI static int
的。
你不能。
typedef没有声明变量的实例,它声明了一个类型(实际上是类型别名)。
static是您应用于实例的限定符,而不是类型。
没门。static
指定 C 标准所称的storage duration,它可以是静态的、自动的和分配的。typedef 只给现有类型一个新名称。由于存储持续时间不是类型名称的属性,因此您不能将持续时间包含在 typedef 中。
我不确定你的宏#define static int SI
打算做什么。看起来很腥
我认为你误会了typedef
。typedef
用于引入类型别名,即新的类型名称,因此仅适用于类型信息。static
,auto
等都适用于特定变量。