我知道{}
用于分离诸如函数、类和条件分支之类的实体,但它们在这里还有什么其他用途?
#import <stdio.h>
int main(void) {
{{{
printf("main\n");
}}}
return 0;
}
编辑:
我发现它可能主要用于信息隐藏,以及nested functions从下面的答案来看,它们似乎可以在调试期间用作标记,并在发行版中被删除,但这不应该被认可。
最佳答案
将代码括在大括号中会创建一个Scope。
创建本地作用域可能有许多原因,如:
允许在封闭范围内重用变量名。
在函数中间定义变量。
在c89中不允许在除作用域开始处以外的任何地方创建变量,但自c99以来允许这样做。
Online Example Code Sample:
#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;
}
在您的示例代码中,
额外的
{
&}
没有任何作用,它们只是多余的代码。正如@Martin在注释中所建议的,由于在
{
&}
中封装代码与{{{
&}}}
类似,因此可以将其用作标记/模式以便于搜索。不过,就我个人而言,我更希望在代码中添加适当的注释,并在搜索中显示关键字,而不是添加这样的冗余代码。