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