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 :

Erreur sur l'affection d'un pointeur


Sujet :

C

  1. #1
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 116
    Par défaut Erreur sur l'affection d'un pointeur
    Bonjour, j'ai un tout bête problème. J'ai utilisé le dev C++ il y a une année sur un Win Millenium. Maintenant j'ai win Xp, j'éssaie d'écrire un petit programme en console. Lorsque j'affecte une valeur à un pointeur, la compilation est bonne, mais il y a une erreur à l'exécutions. Je ne sais pas si c'est un problème avec le système NT !

    Quelqu'un peut m'en dire plus sur cette erreur ?

    vous pouvez faire l'essai avec ce code :
    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 <stdlib.h>
     
    int main(int argc, char *argv[])
    {
      char *pc;
    		*pc = 34 ;
    		printf("CONTENU DE LA CASE MEMOIRE: %c\n",*pc);
     
     
     
      system("PAUSE");	
      return 0;
    }

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    ben, ce serait pas mal d'initialiser PC avant de mettre qch à l'adresse (inconnue et indéfinie) pointée...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre confirmé
    Inscrit en
    Novembre 2004
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Novembre 2004
    Messages : 116
    Par défaut
    Lorsque que j'initialise mon pointeur avec un malloc ça marche sans problème, il ne crée l'erreur que lorsque ne pointeur n'est pas initialisé. Pourtant, je me rappel très bien avoir écris certains petits codes où je n'utilisait qu'un pointeur, sans l'initialiser, comme le petit code ci-haut. Ma question c'est de savoir si les systèmes NT ne supportent pas cette manière de faire et pourquoi ?

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Parce que la mémoire sous NT est mieux protégée.

    Sous Win9x, on a un accès quasi-complet à tous les 4go de la mémoire virtuelle: les 2go inférieurs, réservés au processus, et les 2go supérieurs, partagés et (si je me souviens bien) en libre accès (!!)


    Pourtant, je me rappel très bien avoir écris certains petits codes où je n'utilisait qu'un pointeur, sans l'initialiser,
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    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 digital prophecy
    Pourtant, je me rappel très bien avoir écris certains petits codes où je n'utilisait qu'un pointeur, sans l'initialiser,
    Comportement indéfini. Il peut arriver n'importe quoi. Ne refais jamais ça.

Discussions similaires

  1. erreurs sur pointeurs ?
    Par darkwall_37 dans le forum Débuter
    Réponses: 14
    Dernier message: 05/11/2009, 21h11
  2. Réponses: 1
    Dernier message: 27/08/2009, 16h32
  3. Affectation sur zone après libération du pointeur
    Par h3llmo dans le forum Débuter
    Réponses: 3
    Dernier message: 11/02/2009, 03h15
  4. [VBS] Erreur sur "AddWindowsPrinterConnection"
    Par Admin dans le forum VBScript
    Réponses: 5
    Dernier message: 27/03/2004, 16h15
  5. Erreur sur le TNSListener après installation de 9iAS
    Par Patmane dans le forum Installation
    Réponses: 4
    Dernier message: 04/02/2004, 11h16

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