2
下面是一个C函数。我不明白函数名称后的变量声明。正如函数名称后面的文本,它应该以大括号开始。但是这里没有大括号,它声明了3个变量。任何人都可以告诉我:那些变量是局部函数,为什么它们不在大括号内。为什么变量在括号外声明
static long CheckBytes (kind, byt, typ)
/*********************************************************************/
long kind ;
long byt ;
long typ ;
{
long byte ;
byte = 0 ;
switch (typ) {
case 1 :
if (kind == 1) {
if (byt >= 1 && byt <= 16) byte = byt/4 ;
}
else {
if (byt >= 1 && byt <= 16) byte = byt/2 ;
}
break ;
case 2 :
if (kind == 2) {
if (byt >= 1 && byt <= 32) byte = byt ;
}
else {
if (byt >= 1 && byt <= 32) byte = byt ;
}
break ;
case 3 :
if (kind == 1) {
if (byt >= 1 && byt <= 16) byte = byt/4 ;
}
else {
if (byt >= 1 && byt <= 16) byte = byt/2 ;
}
break ;
}
return (byte) ;
}
看一看[这](http://stackoverflow.com/questions/13789450/variable-declaration-between-function-名字和第一卷曲花括号)答案 – PSD
这是非常古老的风格。它相当于'静态长CheckBytes(long kind,long byt,long typ){// ...}' – cwschmidt