我发现 typedef 的语法与 extern 或 static 相似。那么 typedef 的作用域、寿命或存储类是什么?
问问题
392 次
2 回答
3
如果你仔细看,你会注意到当标准说:被称为“存储类说明符”时,它在存储类说明typedef
符周围使用引号,这意味着为了方便起见,它在语法上只是一个“存储类说明符”。typedef
所以谈范围、类型等是没有意义的typedef
。
C99 §6.7.1存储类说明符第 3 节
说明
typedef
符被称为“存储类说明符”只是为了语法方便;将在 6.7.7 中讨论。6.2.2 和 6.2.4 讨论了各种链接和存储持续时间的含义。
于 2013-09-02T15:07:08.043 回答
1
typedef
与 C 中的常规变量具有相同的范围。
对于typedef
标头中的 a,它将在包含它的所有 C 文件中可见。
因此,typedefs的范围与任何其他标识符的范围相同。
于 2013-09-02T15:10:13.873 回答