C的名字空间
C使用术语名字空间(namespace)来识别一个名字的程序部分。作用域是这个概念的一部分:名字相同但具有不同作用域的两个变量不好冲突;而名字相同并在相同作用域中的两个变量就会冲突。名字空间是分类别的。在一个特定的作用域内的结构标记、联合标记以及枚举标记都共享同一个名字空间,而且这个名字空间与普通变量使用的名字空间是不同的。这意味着,可以在同一个作用域内对一个变量和一个标记使用同一个名字,而不会产生错误;但是不能在同一个作用域内使用名字相同的两个标记或名字相同的两个变来能够。
例如,在C中下面的语句不会产生冲突:
struct rect {double x; double y;}; int rect;
然而,用两种不同的方式使用同一个标识符会造成混乱;而且,C++不允许在同一个作用域内对一个变量和标记使用同一个名字,因为它把标记和变量名放在同一个名字空间中。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步