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 :

allocation


Sujet :

C

  1. #1
    Membre très actif Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Par défaut allocation
    Salut,
    Les gars je suis confus, je deviens dingue.
    Dites moi dans le code suivant;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    /*j'ai un type*/
    typedef struct NODE{
    /*champs*/
    <...>
    }*NODE;
    /*ensuite je fais*/
    <...>
    NODE tab[100];//donc tableau de pointeurs de NODE
    int a;
     for (a=0; a<100; a++)
       tab[a] = malloc (sizeof (struct NODE));//est-ce que là j'alloue vraiment de la //mémoire pour mes éléments ou plutôt pour mes pointeurs qui sont déjà alloués??
    si une petite voix charitable pouvait me dire si je suis devenu fou ou pas encore?
    merci
    Compil your life guy!
    The Aures Project

  2. #2
    Membre expérimenté Avatar de Lethal
    Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 194
    Par défaut Re: allocation
    Citation Envoyé par Goundy
    Salut,
    Les gars je suis confus, je deviens dingue.
    Dites moi dans le code suivant;

    /*j'ai un type*/
    typedef struct NODE{
    /*champs*/
    <...>
    }*NODE;
    /*ensuite je fais*/
    <...>
    NODE* tab[100];//donc tableau de pointeurs de NODE
    int a;
    for (a=0; a<100; a++)
    tab[a] = malloc (sizeof (struct NODE));//est-ce que là j'alloue vraiment de la //mémoire pour mes éléments ou plutôt pour mes pointeurs qui sont déjà alloués??
    C'est pas mieux comme ca?

  3. #3
    Membre très actif Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Par défaut
    non mais là tu déclare un pointeur de tableau de pointeurs ...
    NODE est un pointeur regarde bien la déclaration.
    Compil your life guy!
    The Aures Project

  4. #4
    Expert confirmé

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Par défaut Re: allocation
    Citation Envoyé par Goundy
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    /*j'ai un type*/
    typedef struct NODE{
    /*champs*/
    <...>
    }*NODE;
    /*ensuite je fais*/
    <...>
    NODE tab[100];//donc tableau de pointeurs de NODE
    int a;
     for (a=0; a<100; a++)
       tab[a] = malloc (sizeof (struct NODE));//est-ce que là j'alloue vraiment de la //mémoire pour mes éléments ou plutôt pour mes pointeurs qui sont déjà alloués??
    Il faut arrêter de masquer les pointeurs, tu aurais moins de problèmes...

    Pour répondre à ta question: Tu as alloué ce qu'il te faut, ton tableau de pointeurs a bien 100 éléments alloués dynamiquement. Un code plus propre te donnerait:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    /*Les noms en majuscules sont réservés aux constantes...*/
    typedef struct snode{
    /*champs*/
    <...>
    }Node; 
     
    <...>
    Node* tab[100];
    int a;
     for (a=0; a<100; a++)
       tab[a] = malloc (sizeof (struct NODE); /*C'est clair que c'est bon*/
    Jc

  5. #5
    Membre très actif Avatar de Goundy
    Profil pro
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    605
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 605
    Par défaut
    fearyourself tu m'as soulagé
    Merci beaucoup, et merci pour ta remarque je vais prendre note
    Bonne nuit
    Compil your life guy!
    The Aures Project

  6. #6
    Membre expérimenté Avatar de Lethal
    Profil pro
    Développeur Java
    Inscrit en
    Février 2006
    Messages
    194
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Février 2006
    Messages : 194
    Par défaut
    Citation Envoyé par Goundy
    non mais là tu déclare un pointeur de tableau de pointeurs ...
    NODE est un pointeur regarde bien la déclaration.
    Juste je n'avais pas vu. C'est un tableau de pointeurs de pointeurs de Node que j'ai déclaré.

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

Discussions similaires

  1. Allocation dynamique de structures
    Par fr_knoxville dans le forum C
    Réponses: 8
    Dernier message: 06/05/2003, 21h59
  2. Allocation dynamique de mémoire en asm
    Par narmataru dans le forum Assembleur
    Réponses: 7
    Dernier message: 17/12/2002, 22h31
  3. Réponses: 4
    Dernier message: 03/12/2002, 16h47
  4. [Turbo Pascal] Allocation et désallocation de pointeurs dans une fonction
    Par neird dans le forum Turbo Pascal
    Réponses: 13
    Dernier message: 17/11/2002, 20h14
  5. Allocation de ressources
    Par Eric Pasquier dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 08/10/2002, 09h19

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