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* NomDeLaStructure me donne une erreur de violation


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut Structure* NomDeLaStructure me donne une erreur de violation
    Bonjour tout le monde,

    Je crée une simple structure pour tenter de comprendre les structures dynamiques.

    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
    typedef struct 
    {
    	char TypeP;
    	char* Nom;
    	double km;
     
    }planets;
     
     
    void main()
    {
    	planets* LesPlanetes;
     
    	for (int i =0; i<5;i++)
    	{
    		LesPlanetes[i].Nom = "Test";
    	}
     
    }
    J'essaie d'affecter 5 fois, donc à 5 planètes différentes, le nom "Test" mais j'obtiens ce message d'erreur :

    unhandled exception in Astromie2.exe : 0xC000000005. Access Violation
    Je présûme que c'est un problème d'accès à la mémoire.

    planets* veut bien dire qu'on ne connait pas la taille au départ et qu'on peut alors l'étendre ?

    J'espère que vous pourrez m'aider.

    Merci d'avance.

    beegees

  2. #2
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    Tu n'as pas allouer tes structures.

  3. #3
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par nicolas.sitbon Voir le message
    Tu n'as pas allouer tes structures.
    Merci pour tes nombreuses réponses.

    Je dois les allouer avec malloc ?

    beegees

  4. #4
    Membre Expert Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Par défaut
    De préférence.

  5. #5
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Citation Envoyé par nicolas.sitbon Voir le message
    De préférence.
    Merci pour ta réponse.

    c'est bien les champs de la structure que je dois travailler avec malloc et non pas le nom de la structure qui est ici planets ?

    Merci encore.

    beegees

  6. #6
    Membre expérimenté
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Par défaut
    Merci pour tes réponses.

    Connais-tu un livre qui reprenne exactement ce que je demande ?

    Si oui tu peux me le citer et je vais l'acheter demain matin.

    beegees

  7. #7
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par beegees Voir le message
    Merci pour ta réponse.

    c'est bien les champs de la structure que je dois travailler avec malloc et non pas le nom de la structure qui est ici planets ?

    Merci encore.

    beegees
    Si tu déclares un pointeur sur une structure de type planets, il te faut absolument allouer l'espace pointé avant d'allouer quoi que ce soit d'autre comme l'espace pour la chaîne de caractères !

    Ouvre un bon livre ou lit un bon tutoriel sur le C, on ne code pas au petit bonheur la chance !

    Je précise que ca se sont des principes qui sont étudiés dans tous livres pour débutants dignent de ce nom et de bons tutoriels comme on peut en trouver ici
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  8. #8
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par beegees Voir le message
    Je dois les allouer avec malloc ?
    Par exemple...

Discussions similaires

  1. HashMap<int, String> m ; Donne une erreur.
    Par Pierre8r dans le forum Collection et Stream
    Réponses: 1
    Dernier message: 18/09/2009, 17h21
  2. mon .htaccess me donne une erreur 500
    Par Dougui_bzh dans le forum OVH
    Réponses: 1
    Dernier message: 20/08/2008, 16h19
  3. [C#] download en boucle donne une erreur
    Par iamloco dans le forum Windows Forms
    Réponses: 2
    Dernier message: 23/10/2006, 04h07
  4. Réponses: 4
    Dernier message: 09/08/2006, 22h28
  5. [DAO VBA] Récupérer une erreur de violation de clé
    Par Caroline1 dans le forum Access
    Réponses: 5
    Dernier message: 28/04/2006, 17h39

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