c语言域34
Posted 周三石
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言域34相关的知识,希望对你有一定的参考价值。
// 此处的命名空间为通常标识符.
整 a; // 名称 a 的文件作用域始于此
空 f(空)
{
整 a = 1; // 名称 a 的块作用域始于此;隐藏文件作用域的 a
{
整 a = 2; // 内层 a 的作用域始于此,隐藏外层 a
打印格式("%d\n", a); // 内层 a 在作用域中,打印 2
} // 内层 a 的块作用域终于此
打印格式("%d\n", a); // 外层 a 在作用域中,打印 1
} // 外层 a 的作用域终于此
空 g(整 a); // 名称 a 拥有函数原型作用域;隐藏文件作用域的 a
空 f(整 n) // 函数参数 'n' 的作用域开始
{ // 函数体开始
++n; // 'n' 在作用域中并指代函数参数
// 整 n = 2; // 错误:不能在同一作用域重声明标识符
对(整 n = 0; n<10; ++n) { // 循环局域的 'n' 的作用域开始
打印格式("%d\n", n); // 打印 0 1 2 3 4 5 6 7 8 9
} // 循环局域的 'n' 的作用域结束
// 函数参数 'n' 回到作用域
打印格式("%d\n", n); // 打印参数的值
} // 函数参数 'n' 的作用域结束
整 a = n; // 错误:名称 'n' 不在作用域中
枚 {a, b};
整 不同(空)
{
如 (的大小(枚 {b, a}) != 的大小(整))
中 a; // a == 1
中 b; // C89 中 b == 0 , C99 中 b == 1
}
整 i; // i 的作用域开始
静 整 g(整 a) { 中 a; } // g 的作用域开始(注意 "a" 拥有块作用域)
整 主(空)
{
i = g(2); // i 和 g 在作用域中
}
空 f()
{
{
至 标签; // 标签 在作用域中,尽管之后才声明
标签:;
}
至 标签; // 标号忽略块作用域
}
空 g()
{
至 标签; // 错误: g() 中 标签 不在作用域中
}
整 f(整 n,
整 a[n]); // n 在作用域中并指代第一参数
空 f ( // 函数名 'f' 在文件作用域
长 双精 f, // 标识符 'f' 现在在作用域中,隐藏文件作用域的 'f'
符 (**a)[10 * 的大小 f] // 'f' 指代第一参数,它在作用域中
);
枚{ n = 3 };
整 (*(*g)(整 n))[n]; // 函数参数 'n' 的作用域在其函数声明器的结尾结束
// 数组声明器中,全局 n 在作用域
// (这声明指向返回 3 个 整 的数组的指针的函数的指针)
构 节点 {
构 节点* 下个; // 节点 在作用域中并指代此 构
};
枚 { x = 12 };
{
枚 { x = x + 1, // 新 x 在逗号前不在作用域中,初始化 x 为 13
y = x + 1 // 新枚举项 x 现在在作用域中,初始化 y 为 14
};
}
整 x = 2; // 第一个 'x' 的作用域开始
{
整 x[x]; // 新声明的 x 的作用域在声明器 ( x[x] )后开始.
// 在声明器内,外层 'x' 仍在作用域中.
// 这声明 2 个 整 的 变长数组 数组.
}
正 符 y = 32; // 外层 'y' 的作用域开始
{
正 符 y = y;
// 内层 'y' 的作用域在初始化器( = y )前开始
// 这不会以值 32 初始化内层 'y' ,
// 这以其自身的不确定值初始化内层 'y'
}
正 长 阶乘(正 长 n)
// 声明器结束, '阶乘' 从此点开始在作用域中
{
中 n < 2 ? 1 : n * 阶乘(n - 1); // 递归调用
}
构 福 {
构 baz {};
枚 颜色 {红, 蓝};
};
构 baz b; // baz 在作用域中
枚 颜色 x = 红; // 颜色 和 红 在作用域中
以上是关于c语言域34的主要内容,如果未能解决你的问题,请参考以下文章