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 :

Double tableau dynamique de pointeurs de struct


Sujet :

C

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Avril 2010
    Messages : 25
    Par défaut Double tableau dynamique de pointeurs de struct
    Bonjour,

    J'ai besoin d'aide pour la création d'un double tableau carré avec malloc, je veux que dans les "cases" de ce double tableau il y ait des pointeurs vers une structure.

    Je n'arrive pas à l'initialiser de façon à ne pas avoir d'erreur de segmentation ...

    La structure
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #define TAILLE 128
     
    struct s_element {
    	int cle;
    	int data;
    };
    typedef struct s_element element;
    L'initialisation dans le main() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    element *** tab_hachage;
    	tab_hachage = (element***) malloc(TAILLE*sizeof(element**));
     
    	int i, u;
     
    	for(i=0; i<TAILLE; i++){
    		for(u=0; u<TAILLE; u++){
    			tab_hachage[i][u] = (element *) malloc(sizeof(element*));
    			tab_hachage[i][u] = (element *) NULL;
    		}
    	}
    Merci d'avance pour votre aide !

  2. #2
    Expert confirmé
    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
    Par défaut
    Bonjour et bienvenue sur le forum.

    La procédure est la suivante :
    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
    21
    22
    23
    24
    25
    26
    27
    element *** tab_hachage;
    //un tableau de TAILLE pointeurs de type  element**
    tab_hachage = malloc(TAILLE*sizeof(element **)); 
    // tester la réussite de l'allocation :
    if(tab_hachage != NULL)
    { 
       int i, u;	
       for(i=0; i<TAILLE; i++)
       {
         //Allouer les pointeurs :
         // un tableau de TAILLE  pointeurs de type element*
         // pour chaque pointeur element**
          tab_hachage[i] = malloc(TAILLE*sizeof(element*));
         // tester la réussite de l'allocation :
         if(tab_hachage[i] != NULL)
         {
           // initialiser les pointeurs :
          	for(u=0; u<TAILLE; u++)	tab_hachage[i][u] = NULL;
         }
         else
         { 
           // Désallouer tout ce qui a été précédemment alloué 
           // mettre tab_hachage à NULL
           // et quitter la boucle
         }
       }
    }

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2010
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Avril 2010
    Messages : 25
    Par défaut
    Merci diogene d'avoir pris la peine de me répondre si vite et d'avoir commenter le fonctionnement pour que je puisse faire les choses proprement.

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/03/2015, 12h12
  2. Créer un tableau dynamique de pointeur
    Par Staithes dans le forum Débuter
    Réponses: 4
    Dernier message: 02/12/2010, 08h20
  3. Déclarer des variables ou un double tableau dynamiquement
    Par calimerojeff dans le forum Langage
    Réponses: 1
    Dernier message: 20/08/2009, 10h21
  4. Tableau dynamique de pointeurs sur const char*
    Par Le Mérovingien dans le forum Débuter
    Réponses: 6
    Dernier message: 05/06/2008, 15h23
  5. tableau dynamique de struct
    Par diFaenza dans le forum C++
    Réponses: 6
    Dernier message: 29/11/2006, 02h26

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