我看過一個有趣的代碼最近,但我不能確定它的意義:函數聲明和定義在pascal中定義的C參數:它應該是什麼?
void foo(arg1, arg2)
int arg1;
unsigned char arg2[16];
{
//some code
}
我從來沒有見過在C語言中這樣的事情以前那樣函數參數聲明和定義。自2003年以來,我一直在開發軟件,但它像舊的或全新的東西。它是什麼樣的函數定義風格?我記得,你可以聲明在帕斯卡的論點這種方式,但不是在C.
安德魯
我看過一個有趣的代碼最近,但我不能確定它的意義:函數聲明和定義在pascal中定義的C參數:它應該是什麼?
void foo(arg1, arg2)
int arg1;
unsigned char arg2[16];
{
//some code
}
我從來沒有見過在C語言中這樣的事情以前那樣函數參數聲明和定義。自2003年以來,我一直在開發軟件,但它像舊的或全新的東西。它是什麼樣的函數定義風格?我記得,你可以聲明在帕斯卡的論點這種方式,但不是在C.
安德魯
這是ANSI C之前的原始版本,如K & R1(Kernighan和Ritchie所着的「The C Programming Language」的原始版本,所謂的「原始」或ANSI C之前的編譯器使用了這種語法。現代編譯器可以調用,使他們接受的命令行選項,這種類型的代碼從那時起
C已演變很長的路要走,但你還是會遇到它偶爾在舊程序
這等於:
void foo(int arg1, unsigned char arg2[16])
{
這是很老的風格。
看這裏:。HTTP: //syque.com/cstyle/ch6.16.htm。另外,還有一個可編譯的舊C風格代碼的問題:http://stackoverflow.com/questions/4581586/old-style-c-function-declaration – izogfif 2013-03-28 08:22:00