2013-03-28 45 views
0

我看過一個有趣的代碼最近,但我不能確定它的意義:函數聲明和定義在pascal中定義的C參數:它應該是什麼?

void foo(arg1, arg2) 
int arg1; 
unsigned char arg2[16]; 
{ 
    //some code 
} 

我從來沒有見過在C語言中這樣的事情以前那樣函數參數聲明和定義。自2003年以來,我一直在開發軟件,但它像舊的或全新的東西。它是什麼樣的函數定義風格?我記得,你可以聲明在帕斯卡的論點這種方式,但不是在C.

安德魯

+0

看這裏:。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

回答

2

這是ANSI C之前的原始版本,如K & R1(Kernighan和Ritchie所着的「The C Programming Language」的原始版本,所謂的「原始」或ANSI C之前的編譯器使用了這種語法。現代編譯器可以調用,使他們接受的命令行選項,這種類型的代碼從那時起

C已演變很長的路要走,但你還是會遇到它偶爾在舊程序

2

這等於:

void foo(int arg1, unsigned char arg2[16]) 
{ 

這是很老的風格。