2009-07-20 5 views

Répondre

5

Il est toujours valable, mais il est pré-ANSI. C'est en fait là que le style R indent K & tire son nom. Le support d'ouverture est sur la ligne après le bloc fonctionnel parce que cela fait un peu bizarre:

int func(x) 
int x; { 
... 
} 

Quoi qu'il en soit, ce style n'est pas recommandé en raison de a problem with function prototypes.

4

K & R style, et je pense que c'est encore valide, bien que découragé. Cela vient probablement de Fortran (où les types de paramètres de fonction sont définis dans le corps de la fonction, toujours dans le F95 récent)

4

C'est l'ancien C. Il est rarement vu.

12

C'est la syntaxe de déclaration de paramètre R C, qui est valide dans ANSI C mais pas dans C++.

+2

+1 Valide, mais rare et non recommandé. :) –

-8

C'est un prototype de fonction. Si vous ne l'avez pas fait de cette façon, vous devez écrire la fonction entièrement avant main, sinon le compilateur ne connaîtrait pas la fonction lorsque vous l'utilisiez dans main. Ce n'est pas très descriptif, donc il n'est plus utilisé. Vous voudriez utiliser quelque chose comme:

int someFunction(int someParamX int someParamY); 
+0

L'exemple donné dans la question est en fait une fonction * définition *, notez l'absence d'un point-virgule après 'int func (x)'. –

+0

Il n'y a rien qui empêche une définition de fonction d'avoir un prototype. Mais la définition de la fonction affichée n'a pas de prototype. Donc -1 par moi aussi –

Questions connexes