实际使用C中的额外括号

Ara*_*yan 1 c curly-braces

我知道{}用于分隔函数,类和条件分支等实体,但它们还有其他用途吗?

#import <stdio.h>

int main(void) {
    {{{
        printf("main\n");
    }}}
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

编辑:

我发现它主要用于信息隐藏以及嵌套函数.从下面的答案看,它们似乎可以在调试期间用作标记,并在发布中删除,但这不应该得到认可.

Alo*_*ave 5

将代码括在大括号中{ }会创建一个Scope.
创建本地范围可能有多种原因,例如:

  • 允许您在封闭范围中重用变量名称.
  • 在函数中间定义变量.
    在c89中不允许在除示波器开头之外的任何地方创建变量,但是从c99开始允许它.

在线示例代码示例:

#include<stdio.h>

int main()
{
    int i = 10;
    {
         int i = 5;
         printf("i is [%d]\n",i);
    }
    printf("i is [%d]\n",i);

    return 0; 
}
Run Code Online (Sandbox Code Playgroud)

在您的示例代码中,
额外的{&}不用于任何目的,它们只是冗余代码.

正如@马丁建议在意见,因为在封闭代码{{{&}}}仅仅是类似于{&},它可能被用作容易搜索的标签/模式.

但是,就个人而言,我更希望在代码中添加适当的注释,并在搜索中显示关键字而不是添加此类冗余代码.