C语言允许在模块内部定义仅限此模块使用的局部变量,如
void 函数(void){
....
{
char a;
....
}
....
}
但是比较少看到有人这么做,不知是不是习惯的原因。
假如一个函数中有多个部分用到相同类型的局部变量,并且每个部分是按先后顺序相互独立的,如按照一般习惯写为:
void 函数(void){
char a;
...
//部分1
a = ...; //初始化a
{
... = a;
a = ...;
....
}
....
//部分n
a = ...; //初始化a
{
... = a;
a = ...;
...
}
}
如果写成如下:
void hanshu(void){
//部分1
{
char a;
... = a;
a = ...;
....
}
....
//部分n
{
char a = ...; //初始化a
... = a;
a = ...;
...
}
} |