2012-04-27 9 views
6

Olası Çoğalt: şimdi
C function syntax, parameter types declared after parameter listC'de, bir işlev üstbilgisi ve gövde arasında bir değişken bildirildiğinde ne anlama gelir?

Birkaç kez, bu gibi bir kod karşılaştığınız:

int 
main(argc, argv) 
int argc; char **argv; 
{ 
    ... 
} 

Neden argc ve argv bu şekilde beyan edilir?

+4

Bu, 1987 civarında yazılmıştır anlamına gelir –

+0

@MichaelBurr: Gerçekten de bir kopyası gibi görünüyor. Kapatmak için oylama. –

cevap

12

Bu, K & R * style parametre listelerinde kullanılan sözdizimi idi.

R - Brian Kernighan ve Dennis Ritchie, kitabın yazarları, "The C Programming Language."
Dennis Ritchie aynı zamanda C programlama dilinin yaratıcısı ve UNIX işletim sistemi Ken Thompson ile de oldu.

+0

Bugün K & R stilini kullanmanın bir avantajı var mı? Gönderdiğiniz bağlantı ANSI stilini öneriyor. –

+2

Derleyiciniz yine de destekliyorsa, lütfen bu stili yeni kod için kullanmayın. Bunu yeterince güçlü bir şekilde vurgulayamıyorum. Ayrıca, bağlantıyı, stil ve geçmişi hakkında daha bilgilendirici olan Wikipedia'ya yönlendirmek için güncelledim. –

+2

Hiçbir avantajı yok. Bu eski standart öncesi C stili ve hala desteklenirken modası geçmiş kabul ediliyor. –

İlgili konular