C - pointeur sur une structure, petit blanc

Résolu
silentData Messages postés 201 Statut Membre -  
silentData Messages postés 201 Statut Membre -
Bonjour,

J'ai un petit soucis :

- J'ai une structure qui contient des entiers en autre.

Dans une fonction, j'ai un pointeur vers l'une de ces structures.

J'ai essayé ceci :

Matrice* m; //Matrice est ma structure
(*m).nbLigne = 5; //Exception EX_BAD_ACCESS à l'exécution


Et avec la notation objet à la C++ :

Matrice* m; //Matrice est ma structure
m->nbLigne = 5; //Là, ca compile pas


Je suis certainement un boulet, est-ce que qqun peut m'éclairer ?

Merci beaucoup, bonne journée !

2 réponses

  1. sudoer Messages postés 117 Statut Membre 14
     
    Tu as oublié d'allouer ton pointeur, après la déclaration du pointeur, rajoute la ligne suivante :
    m = (Matrice *) malloc(sizeof(Matrice));

    Le C accepte les -> quand tu as un pointeur, tu peux faire : m->nbLigne = 5;

    Et n'oublie pas de désallouer le pointeur quand tu n'en a plus besoin : free(m);
    1
  2. silentData Messages postés 201 Statut Membre 40
     
    Je savais bien que j'avais oublié quelque chose !

    Merci beaucoup !!
    0