如何在typedef中使用static?

时间:2012-07-29 19:06:50

标签: c static typedef

由于typedef是C中的存储类,因此不能与static变量一起使用。例如,typedef static int SISI a无效。那么有没有其他方法使用static与typedef?

我已经知道这可以完成#define SI static int

Storage Classes in C

3 个答案:

答案 0 :(得分:6)

你不能。

typedef 未声明变量的实例,它声明了类型(实际上是类型别名)。

静态是您应用于实例的限定符,而不是类型

答案 1 :(得分:2)

没办法。 static指定C标准称为存储持续时间的内容,可以是静态,自动和已分配的。 typedef仅为现有类型提供新名称。由于存储持续时间不是类型名称的属性,因此不能使用typedef包含持续时间。

我不确定您的宏#define static int SI打算做什么。它看起来很腥。

答案 2 :(得分:0)

我认为你误解了typedeftypedef用于引入类型别名,即新类型名称,因此仅适用于类型信息。 staticauto等都适用于特定变量。