IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Déclaration de fonction, Obligé ou pas
Options
PapouMAC
posté 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
Go to the top of the page
 
+Quote Post
schlum
posté 25 Jul 2015, 21:24
Message #2


Terminaltor
Moderating Machine
*****

Groupe : Admin
Messages : 24 447
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          
Go to the top of the page
 
+Quote Post
PapouMAC
posté 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
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 28th March 2024 - 11:13