c - 如何理解 typedef 的这种用法?
问题描述
这是代码:
typedef char FlagType;
int main()
{
}
int myproc( int )
{
int FlagType;
}
从https://docs.microsoft.com/en-us/cpp/c-language/typedef-declarations?view=msvc-160复制
据我了解,'typedef char FlagType' 使 'char a' 和 'FlagType a' 没有区别。但我无法理解'int FlagType'。
解决方案
该代码演示了一个病态的示例。不是标准或推荐的用例。
它用于解释当局部变量与 typedef 名称具有相同名称时会发生什么。
Typedef 名称与普通标识符共享名称空间(有关详细信息,请参阅名称空间)。因此,一个程序可以有一个 typedef 名称和一个同名的本地范围标识符。
推荐阅读
- kotlin - Kotlin 本机互操作链接器找不到框架
- apache - 使用 .htaccess,如何在重定向到一页时保留 GET 数据?
- python - 在 Altair 中为分层图表保留特定的 Y 轴顺序/排序
- java - onActivityResult 没有更新我当前的 imageView
- javascript - Ant 设计表单 - onAfterChange 处理程序
- python - 逐渐衰减损失函数的权重
- haskell - Haskell 函数 :: [Name] -> [[(Name, Bool)]]
- python - 在 Python 中保留来自两个 JSON 对象的重复条目
- c# - 将静态参数转换为 Hashtable 并与 lambda 搜索一起使用
- docker - Docker 处理图像而不是 Dockerfiles