IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

type de fonction


Sujet :

C

  1. #1
    Inactif  
    Inscrit en
    Mars 2006
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 352
    Par défaut type de fonction
    Bonjour,je voudrais savoir comment definir le type tableau comme type de retour d'une fonction;par exemple la fonction ProduitVectotiel(int V1[3],int V2[3]) retourne un vecteur,Merci.

  2. #2
    Membre Expert

    Homme Profil pro
    Inscrit en
    Juillet 2003
    Messages
    2 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 2 075
    Par défaut
    Autant en algo je vois bien ce que peut être un vecteur, en maths aussi j'avoue que je n'ai jamais entendu parler d'un tel type en C

  3. #3
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: type de fonction
    Citation Envoyé par sidahmed
    Bonjour,je voudrais savoir comment definir le type tableau comme type de retour d'une fonction;par exemple la fonction ProduitVectotiel(int V1[3],int V2[3]) retourne un vecteur,Merci.
    En C, ce que tu appelles 'vecteur 'et en fait un tableau.

    Une fonction ne sait pas retourner un tableau. Elle peut
    • soit retourner l'adresse du premier élément d'un tableau. Cette adresse doit évidemment être valide après exécution de la fonction, ce qui exclu l'adresse d'une variable locale.
    • soit écrire dans un tableau de sortie dont on aurait passé l'adresse du premier élément via un paramètre pointeur du même type. L'espace dont dont passe l'adresse doit évidemment être valide avant l'appel de la fonction.

  4. #4
    Membre éprouvé Avatar de Process Linux
    Inscrit en
    Septembre 2003
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 136
    Par défaut
    En effet tu peux faire cette fonction
    la signature est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    int * ProduitVectotiel(int * V1,int * V2)
    à l'interieur de cette fonction tu vas délcarer un pointeur sur entier et puis allouer l'espace nécessaire pour y mettre le résultat.
    Une fois le traitement finis , tu peux récupérer l'adresse du résultat qui sera toujours dans la mémoire aprés l'appelle de la fonction.

    l'appelle sera comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    int * vecteur1;
    int * vecceur2;
    int * vecteur3;
    ..... // tu fais les allocations nécessaire pour les vecteurs 1 et 2
    .....//  dans cet exemple je suppose que la dimension est figé
    .....// sinon il faut la passer en paramètre de la fonction
    vecteur3 = ProduitVectotiel(vecteur1,vecteur2);
    voilà, bonne chance

  5. #5
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut Re: type de fonction
    Citation Envoyé par Emmanuel Delahaye
    Une fonction ne sait pas retourner un tableau. Elle peut
    Pour completer, elle peut aussi retourner une struct contenant un tableau. Ce qui n'est pas une mauvaise approche a priori pour 3 dimensions.

Discussions similaires

  1. Type argument fonction variable
    Par uriotcea dans le forum C++
    Réponses: 13
    Dernier message: 26/06/2009, 11h34
  2. [OpenOffice][Tableur] macro "moyenne,minimun,ecart type" et fonction sous totaux
    Par karlakir dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 21/03/2009, 18h04
  3. Conflicting types dans fonction déclarée
    Par Spikeuh dans le forum C
    Réponses: 8
    Dernier message: 22/06/2008, 17h49
  4. type et fonction return
    Par acacia dans le forum Débuter
    Réponses: 11
    Dernier message: 23/01/2008, 12h09
  5. Probleme sur un ensemble de type dans fonction
    Par jetgirl dans le forum Oracle
    Réponses: 4
    Dernier message: 19/02/2007, 13h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo