由于typedef
是C中的存储类,因此不能与static
变量一起使用。例如,typedef static int SI
,SI a
无效。那么有没有其他方法使用static与typedef?
我已经知道这可以完成#define SI static int
。
答案 0 :(得分:6)
你不能。
typedef 未声明变量的实例,它声明了类型(实际上是类型别名)。
静态是您应用于实例的限定符,而不是类型。
答案 1 :(得分:2)
没办法。 static
指定C标准称为存储持续时间的内容,可以是静态,自动和已分配的。 typedef仅为现有类型提供新名称。由于存储持续时间不是类型名称的属性,因此不能使用typedef包含持续时间。
我不确定您的宏#define static int SI
打算做什么。它看起来很腥。
答案 2 :(得分:0)
我认为你误解了typedef
。 typedef
用于引入类型别名,即新类型名称,因此仅适用于类型信息。 static
,auto
等都适用于特定变量。