Déclaration de fonction, Obligé ou pas |
Bienvenue invité ( Connexion | Inscription )
Déclaration de fonction, Obligé ou pas |
25 Jul 2015, 21:22
Message
#1
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 336 Inscrit : 25 Sep 2004 Lieu : Occitanie Membre no 24 178 |
Bonjour
Je voudrais savoir si il est obligatoire de déclarer une fonction (terminée par un point-virgule) ? Voir le code ci-dessous, bien que celui-ci fonctionne même si la fonction n'a pas été déclarée. Et qu'elle est l'intérêt d'une déclaration. Et si elle est préférable ou la placer ? Code // Conversion_heure
// // Created by xxxx on 08/07/2015. // Copyright (c) 2015 xxxx. All rights reserved. // // #include <stdio.h> /* Fonction conversion en heures et minutes */ float conversionheureMinute(float heure, float *Mn, float *Sc) { float heureEntiere, calculMn, calculSc, calculMnAvant, calculScAvant; heureEntiere = (int)(heure); calculMnAvant = (heure - heureEntiere) * 60; calculScAvant = calculMnAvant - (int)(calculMnAvant); calculMn = (int)((heure - heureEntiere) * 60); calculSc = (int)((calculScAvant) * 60); *Mn = calculMn; *Sc = calculSc; return heureEntiere; } float conversionheureMinute(float, float *, float *);//Déclaration de la fonction int main(int argc, const char * argv[]) { float heureDec, heureMinute; float Mn, Sc; heureDec = 2.2625; // 2°15'45"" heureMinute = conversionheureMinute(heureDec, &Mn, &Sc); printf("Conversion degrés -> °/mn : %d°%d'%d\"\n", (int)(heureMinute), (int)(Mn), (int)(Sc)); } -------------------- MAC PRO 2009 (MAC OS 10.14.6) 2 x 3,33 Ghz 6-CoreIntel Xeon(5.1), , 64 Go.Carte graphique NVIDIA GeForce GTX 680.
Mac Studio M2 Max, 32Go, 1To |
|
|
25 Jul 2015, 21:24
Message
#2
|
|
Terminaltor Moderating Machine Groupe : Admin Messages : 24 454 Inscrit : 25 Oct 2002 Lieu : Jeumont (59) Membre no 4 319 |
Il n’est utile de déclarer une fonction que si elle n’est pas définie avant son utilisation.
Par ailleurs, si une fonction n’est définie et utilisée qu’au sein d’un fichier source, il est d’usage de la déclarer « static » (ce qui dispense d’avoir le warning disant que la fonction n’a pas été déclarée, -Wimplicit-function-declaration qui est inclu dans -Wall). -------------------- I think therefore I Mac
|
|
|
25 Jul 2015, 21:30
Message
#3
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 336 Inscrit : 25 Sep 2004 Lieu : Occitanie Membre no 24 178 |
Merci, pour cette réponse rapide.
-------------------- MAC PRO 2009 (MAC OS 10.14.6) 2 x 3,33 Ghz 6-CoreIntel Xeon(5.1), , 64 Go.Carte graphique NVIDIA GeForce GTX 680.
Mac Studio M2 Max, 32Go, 1To |
|
|
Nous sommes le : 24th September 2024 - 00:45 |