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 :

Structure et allocations


Sujet :

C

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 30
    Points : 27
    Points
    27
    Par défaut Structure et allocations
    Bonjour,

    J'ai le code suivant, mais je ne comprends pas pourquoi ça plante (la compilation se passe correctement mais le débugger dit qu'à l'exécution il y a une erreur de segmentation sur free(t))...


    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
    #include <stdio.h>
    #include <stdlib.h>
     
    typedef struct {
     int **test;
     int w, h;
    } S;
     
    int main(void) {
     
     S *t = malloc(sizeof(t));
     
     int i;
     t->test = malloc(8 * sizeof(int*));
     for (i = 0; i < 8; i++)
      t->test[i] = malloc(8 * sizeof(int));
     
     t->h = 0;
     t->w = 0;
     t->test[t->h][t->w] = 1;
     
     for (i = 0; i < 8; i++)
      free(t->test[i]);
     free(t->test);
     free(t);
    }
    Quelques éclaircissements ne seraient pas de refus !
    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonsoir,

    Il te manque une étoile à la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    S *t = malloc(sizeof(*t));
    t étant un pointeur sur S S* t; :
    • sizeof(t) représente la taille d'un pointeur sur S
    • sizeof(*t) représente la taille de ta structure S (== sizeof(S))

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 30
    Points : 27
    Points
    27
    Par défaut
    Ah, merci beaucoup !

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

Discussions similaires

  1. tableau de structure et allocation dynamique
    Par libliba dans le forum Débuter
    Réponses: 3
    Dernier message: 14/04/2011, 14h02
  2. Structures imbriquées + allocation
    Par nicodn02 dans le forum Débuter
    Réponses: 4
    Dernier message: 10/12/2007, 08h45
  3. Allocation dynamique tableau dans structure
    Par chental dans le forum C
    Réponses: 2
    Dernier message: 03/08/2006, 09h03
  4. Réponses: 6
    Dernier message: 24/03/2006, 18h24
  5. Allocation dynamique de structures
    Par fr_knoxville dans le forum C
    Réponses: 8
    Dernier message: 06/05/2003, 21h59

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