e-Babillard - plateforme pédagogique interactive

Ressources pédagogiques communes concernant... => Langage C => Sujet démarré par: jpdelx sur 20 Octobre 2012 à 17:44:52



Titre: Prototypage
Posté par: jpdelx sur 20 Octobre 2012 à 17:44:52
Bonjour
Citation:
Le prototype d'une fonction est une description d'une fonction qui est définie plus loin dans le programme.
On place donc le prototype en début de programme (avant la fonction principale main()).

Cette description permet au compilateur de « vérifier » la validité de la fonction à chaque fois qu'il la rencontre dans
le programme, en lui indiquant :

    * Le type de valeur renvoyée par la fonction
    * Le nom de la fonction
    * Les types d'arguments

Contrairement à la définition de la fonction, le prototype n'est pas suivi du corps de la fonction (contenant les instructions
à exécuter), et ne comprend pas le nom des paramètres (seulement leur type).

Source ~> http://www.commentcamarche.net/contents/c/cfonc.php3

Le prototype ne doit contenir que le type des arguments et non pas leur nom.

Exemple :
Code:
/* exemple de "prototypage" de fonction */
/* J.Phil. DELCROIX - janvier 2004 */

#include <stdio.h>

float somme(float,float); /* le prototype */

void main(){ /* module appelant */
printf("%f\n",somme(10.,20.));
}

float somme(float a,float b){ /* module appele */
return a+b;
}

@lpf

J.Phil.


Lien connexe ~> http://picolibre.int-evry.fr/projects/cvs/coursc/Tex4Ht/Indexse51.html



Titre: Prototypage
Posté par: jpdelx sur 26 Octobre 2012 à 14:31:25
Bonjour
Citation de: jpdelx sur 20 Octobre 2012 à 17:44:52
...Le prototype ne doit contenir que le type des arguments et non pas leur nom...


Exception en C99 ~> [ ICI (http://jpdelx.free.fr/smf/index.php?topic=5548.0) ]


Exemple :
Code:
/* Declaration complete */
void foo (int n, int a[n]);
/* Declaration partielle */
void foo (int n, int a
  • );
  • /!\ Notez l'utilisation du caractère '*' pour signaler un tableau de taille variable.

    @lpf

    J.Phil.


    e-Babillard - plateforme pédagogique interactive | Propulsé par SMF 1.0.6 modifié par jpdelx.
    © 2001-2005, Lewis Media. Tous droits réservés.