Bonjour à tous,
Je rencontre un petit problème, la compilation est ok, mais à l'éxecution la console se fige quelques instants et se ferme... Avec un petit debugger ( sur devc++), j'obtient un jolie "Une violation d 'accés (erreur de segmentation)".

En gros :

Le programme plante a chaque fois que je créer un pointeur vers une variable de structure Sommet ET que j'essai d'accéder à un de ses champs
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
//se situe dans le main
	Sommet * S;
	S->nbArcs = 0; //<== ca plante !

Par contre, si je créer une variable locale S, ca marche.
Exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Sommet S;
	S.nbArcs = 0; //<== ca marche.

Je donne le main ainsi que la structure ( il y a d'autre fichier mai je ne pense qu'ils agissent sur le problème) :

Le main :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <stdio.h>
#include <stdlib.h>
#include "dicoParser.h"
#include "structures.h"
 
 
int main()
{
  Sommet  *S;
  S->nbArcs = 3;
  S = fileParser(".\\dico.txt");
  system("PAUSE");	
  return 0;
}
Le fichier strcutres.h
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
#ifndef STRUCTURES_H
#define STRUCTURES_H
 
#include <stdio.h>
#include <stdlib.h>
 
typedef struct sommet
{
    char lettre;
    struct sommet ** arcs; //tableau de pointeur de sommets
    int nbArcs;
    char * motType; //"Nom", "Adj", "Ver"
    char * motBase; //forme de base du mot
}Sommet;
 
Sommet * nouvSommet();
void addArc(Sommet * s);
 
#endif // end ifndef STRUCTURES_H
Le fichier strucutres.c
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
#include "structures.h"
 
Sommet * nouvSommet()
{
    Sommet * S;
    S->lettre = (char)NULL;
    S->arcs = NULL; //tableau de pointeur de sommets
    S->nbArcs = 0;
    S->motType = NULL;
    S->motBase = NULL;
    return S;
}
 
void addArc(Sommet * s)
{
    struct sommet ** arcs;
}
Si vous pouvez em mettre sur une piste ^^

Cordialement.