gpt4 book ai didi

c - 功能范围示例

转载 作者:行者123 更新时间:2023-12-03 23:58:34 24 4
gpt4 key购买 nike

以下是 block 作用域的示例:

int func(int a) {
int b;
...

} // end of block scope for a & b

什么是函数范围的例子,我认为它适用于 goto 标签?

最佳答案

来自 C 标准,6.2.1 标识符的范围:

A label name is the only kind of identifier that has function scope. It can be used (in a goto statement) anywhere in the function in which it appears, and is declared implicitly by its syntactic appearance (followed by a : and a statement).

它与 block 作用域不同的原因是它忽略了 block :

void f(int a) {
{
increase_a: ++a;
}

if (a)
goto increase_a;
}

这可以编译,因为 increase_agoto 语句是可见的,如果它具有 block 范围,则不会出现这种情况。

关于c - 功能范围示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66165437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com