2012-04-27 3 views
6

Eventuali duplicati:
C function syntax, parameter types declared after parameter listIn C, cosa significa quando una variabile viene dichiarata tra un'intestazione e un corpo di una funzione?

un paio di volte, ho incontrato il codice come questo:

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

Perché sono argc e argv dichiarati in questo modo?

+4

Significa che è stato scritto intorno al 1987 –

+0

@MichaelBurr: Sembra davvero un duplicato. Voto per chiudere. –

risposta

12

Questa era la sintassi utilizzata per gli elenchi dei parametri di K & R * style.

* K & R - Brian Kernighan e Dennis Ritchie, autori del libro "The C Programming Language".
Dennis Ritchie è stato anche il creatore del linguaggio di programmazione C e con Ken Thompson, il sistema operativo UNIX.

+0

C'è qualche vantaggio nell'usare lo stile K & R oggi? Il link che hai postato raccomanda lo stile ANSI. –

+2

Anche se il compilatore lo supporta ancora, si prega di non utilizzare questo stile per il nuovo codice. Non posso sottolineare questo abbastanza forte. Inoltre, ho aggiornato il link per puntare a Wikipedia, che è più informativo sullo stile e la sua storia. –

+2

Non c'è alcun vantaggio. Questo è il vecchio stile C pre-standard e, sebbene sia ancora supportato, è considerato obsoleto. –

Problemi correlati