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 qui renvoie un tableau


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 3
    Points : 2
    Points
    2
    Par défaut fonction qui renvoie un tableau
    bonsoir,
    alors je suis entrain de concevoir un projet en langage c et j'ai besoin d'une fonction qui retourne un tableau d'entiers.le prototype de la fonction en question est le suivant int *testermoulin(); le problème se pose dans le main()
    je n'arrive pas à recupérer les valeurs du tableau .
    est ce que qlq pourrait m'aider svp?
    merci

  2. #2
    Membre éclairé

    Homme Profil pro
    Développeur mobile iOS / Android
    Inscrit en
    Décembre 2008
    Messages
    259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur mobile iOS / Android
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 259
    Points : 690
    Points
    690
    Par défaut
    Bonsoir,

    Et bienvenu à toi, tu peux poster ton code ça aidera plus à pouvoir le corriger. tu peux utiliser les balises CODE symbolisées par le # dans la barre d'outils.

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2011
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 3
    Points : 2
    Points
    2
    Par défaut problème variable globale
    bonsoir,
    je voulais poser une question concernant le même sujet alors je suis entrain d'implémenter un jeu qui s'pelle le jeu du moulin et j'ai choisi un tableau d'une structure pour implémenter la grille de jeu .je l'ai initialisé comme variable globale dans mon code mais à la compilation ça génère une erreur.
    ma question:est ce que le tableau est une bonne idée ?? est ce qu'il n y aurait pas d'autres alternatives et est ce que le fait d'en faire une variable globale influe sur mon code sachant qu'il s'agit d'une grille de jeu
    merci

  4. #4
    Nouveau membre du Club
    Inscrit en
    Octobre 2010
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 109
    Points : 36
    Points
    36
    Par défaut
    Citation Envoyé par nausicaa13 Voir le message
    bonsoir,
    je voulais poser une question concernant le même sujet alors je suis entrain d'implémenter un jeu qui s'pelle le jeu du moulin et j'ai choisi un tableau d'une structure pour implémenter la grille de jeu .je l'ai initialisé comme variable globale dans mon code mais à la compilation ça génère une erreur.
    ma question:est ce que le tableau est une bonne idée ?? est ce qu'il n y aurait pas d'autres alternatives et est ce que le fait d'en faire une variable globale influe sur mon code sachant qu'il s'agit d'une grille de jeu
    merci
    ton code source est toujours demandé pour qu'on puisse comprendre

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 33
    Points : 16
    Points
    16
    Par défaut
    A mon avis tu peux utiliser une variable globale ça ne devrait pas poser de problème, mais dans ce cas tu n'as pas besoin de retourner un tableau puisqu'il est accessible dans toutes les fonctions de ton programme.

    Sinon si tu veux retourner un tableau il faut faire quelque chose dans ce genre :

    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
     
    int* mafonction(int taille)
    {
        int* montableau=NULL;
        montableau=malloc(taille*sizeof(int));
        //remplissage du tableau
        return montableau;
    }
     
    int main()
    {
        int n;
        //là tu rentre la taille de ton tableau
        int* grille=mafonction(n);
        return 0;
    }
    Voila, j'espère que je ne dis pas de bêtise car je débute en C mais normalement ça devrait marcher

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2011
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Hello,

    Moi je ne ferai pas en variable global car ce n'est pas très propre !!
    Le mieux c'est que tu créer un tableau de structure (ce que tu a déjà fait, si j'ai bien comprit ;-) ) et que tu passe un pointeur sur ce tableau de structure à ta fonction. Comme cela tu n'a pas besoin de retourner ton tableau.
    De plus si tu passe ton tableau par paramètre à ta fonction, elle va recréer un tableau local à la fonction (ça prend beaucoup de mémoire).
    Alors que l'utilisation d'un pointeur est une sorte de "lien dynamique" vers ton tableau original.
    Mais c'est sûr que si tu nous place ton code dans tes messages ce sera plus facile de t'aider.

  7. #7
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    @Fdoug7
    De plus si tu passe ton tableau par paramètre à ta fonction, elle va recréer un tableau local à la fonction (ça prend beaucoup de mémoire).
    Non, elle ne va pas créer un autre tableau. Si un tableau est passé en argument d'une fonction, ce qui est passé est l'adresse du premier élément du tableau (et non pas une copie du tableau). Le paramètre correspondant créé dans la fonction est donc un pointeur.

Discussions similaires

  1. fonction qui renvoie un tableau
    Par deubelte dans le forum C++
    Réponses: 24
    Dernier message: 26/05/2007, 01h51
  2. fonction qui renvoie un tableau
    Par GLSpirit dans le forum C++
    Réponses: 9
    Dernier message: 12/05/2007, 14h05
  3. fonction qui renvoie un tableau
    Par toto2022 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 22/01/2007, 16h11
  4. Comment faire une fonction qui renvoi un tableau.
    Par poly128 dans le forum Delphi
    Réponses: 2
    Dernier message: 01/06/2006, 01h04
  5. Fonction qui renvoie un tableau?
    Par elm dans le forum C
    Réponses: 23
    Dernier message: 21/12/2005, 12h44

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