Posez votre question Signaler

Les procedure en C

jean.sami - Dernière réponse le 9 janv. 2008 à 11:24
Bonjour,
j'ai un problème avec les procedures
quand j'ai plusieurs procedures, telles que chaque procedure fait appel à une autre , mais le probleme est que le langage c n'accepte pas une appelle d'une procedure qui ne trouve pas en haut de procedure courante..... je sais que ça est un peu ambigue je vous donne un exemple sur ça:
(..E,T,F.....sont des procedures)
E()
debut
T();E1();
fin
E1()
debut
T();
E1();
fin
T1()
debut
F();T1();
fin
T()
debut
F();T1();
fin
F()
if......... then......
E();
fin
program /******debut de programme principale******/
debut
E();
......
fin
et merci beaucoup
Lire la suite 

Les procedure en C »

7 réponses
Réponse
+0
moins plus
Bonjour,

En C pour qu'une fonction puisse être appellée, il faut qu'elle ait été déclarée ou définie précédemment.
Pour cela, on est habitué à inclure un fichier nommé header qui inclue toutes les déclaration de fonctions du fichier.


Exemple :
----------coucou.h------------
#ifndef __COUCOU_H
#define __COUCOU_H
void a();
void b();
void c();
#endif /* __COUCOU_H */

--------------------------------


---------coucou.c----------
#include <stdio.h>

#include "coucou.h" /* Ici on inclue tes déclarations ! */

void a() {
b();
}

void b() {
c();
}

void c() {
puts("coucou");
}

int main(void) {
   a();
   return 0;
}

----------------------------------------------

Tu peux aussi, au lieu d'inclure le fichier, marquer directement les déclarations dans le fichier coucou.c
jean.sami - 4 janv. 2008 à 12:23
bonjour
j'ai pas bien compris ce que tu es en train de dire
parceque mon programme contient plusieurs procedures et chaque procedure fait appel aux plusieurs procedures
Ajouter un commentaire
Réponse
+0
moins plus
bonjour jean.sami,
si tu n'as pas encore trouver une solution.
Il faut déclarer juste l'entête de la fonction avant de faire sa définition.
voila un exemple

#include <stdio.h>
void E( );
void E1( );
void T( );
void F( );
...
void E( )
{
T( ); E1( );
}
...


ekra veut vous dire qu'on peut faire cette déclaration dans un fichier .h à part
jean.sami - 9 janv. 2008 à 11:24
merci monsieur Salhi
j'ai essayé ce que tu m'as demandé et ça marche
et merci infiniment
Ajouter un commentaire
Réponse
+0
moins plus
merci infiniment pour votre intention
mais mon programme contient plusieures procedures et chaque procedure fait appel à une autre ,,j'arrive pas à organiser mes procedures pour donner une meilleure resultats
Ajouter un commentaire
Réponse
+0
moins plus
Le C se fout de l'ordre d'apparition des fonctions (procedure est un terme pascalien !), du moment que le compilo a trouvé le prototype de la fonction avant son appel.
Généralement on place les prototypes dans un fichier *.h inclu en tête de source (après les includes C comme stdio.h par ex)

Ajouter un commentaire
Ce document intitulé « les procedure en C » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook