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 :

Fonction renvoyant un Float* ?


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 54
    Par défaut Fonction renvoyant un Float* ?
    Bonjour a tous !
    J'aurais voulu savoir s'il etait possible pour une fonction de renvoyer un pointeur float, qui n'en en fait autre qu'un tableau de float.

    c-a-d, est-ce qu'une declaration du type:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    float *ma_fonction(mes parametres)
    est correcte en C ?

    Car je voudrais manipuler un tableau de float temporairement dans ma fonction et ne renvoyer en sortie qu'un pointeur vers celui-ci

  2. #2
    Membre Expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Par défaut
    Pas possible à moins de déclarer le tableau dynamiquement.

  3. #3
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 54
    Par défaut
    Ok je vais faire autrement alors, mais je trouve dommage que ca soit impossible

  4. #4
    Expert confirmé
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    #include <stdlib.h>
     
    float *mafonction(void)
    {
        float *tab = NULL;
        tab = malloc(10*sizeof(float));
        if(tab == NULL) exit(EXIT_FAILURE);
        return tab;
    }
     
    int main(void)
    {
        float *tab = NULL;
        tab = mafonction();
        tab[0] = 0.;
        [...];
        free(tab), tab = NULL;
        return 0;
    }

  5. #5
    Membre averti
    Inscrit en
    Juillet 2005
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 54
    Par défaut
    Oui ok je vois.
    Mais je voulais eviter l'allocation dynamique d'un nouveau tableau.
    Je vais plutot modifier dans ma fonction un tableau predeclare et alloue.
    Merci !

  6. #6
    Membre chevronné Avatar de Mayti4
    Inscrit en
    Février 2004
    Messages
    442
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 442
    Par défaut
    Mais je voulais eviter l'allocation dynamique d'un nouveau tableau.
    Si tu connais sa taille, tu peux le déclarer en static.

  7. #7
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par Mayti4
    Si tu connais sa taille, tu peux le déclarer en static.
    Oui mais dans ce cas tu ne peux pas le retourner.

    Tu parle peux être de déclarer le tableau avec le mon clé static, dans ce cas le tableau n'est pas détruit à la sortie de la fonction mais j'essairai même pas de faire retourner son adresse par une fonction

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 21
    Dernier message: 08/01/2010, 16h15
  2. Fonction renvoyant char*
    Par Azharis dans le forum C++
    Réponses: 4
    Dernier message: 28/12/2005, 15h33
  3. Fonction renvoyant 0 ou 1
    Par NicoNGRI dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/10/2005, 10h56
  4. [VB6] [Syntaxe] Fonction renvoyant un tableau d'objets
    Par Troopers dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 18/10/2002, 15h33
  5. fonction renvoyant un tableau en argument
    Par Jones dans le forum Langage
    Réponses: 6
    Dernier message: 30/09/2002, 18h20

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