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 :

Problème de pointeur


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 175
    Par défaut Problème de pointeur
    Bonjour,

    Quand on écrit, ça signifie quoi et es ce que l'écriture est correcte ?


  2. #2
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    863
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 863
    Par défaut
    cela signifie que l'on déclare un pointeur d'entier.
    Cela ne compile pas -> il faut mettre ; à la fin.

    Ce pointeur n'étant pas initialisé il pointe à priori n'importe où.

    Là, le pointeur pointe à l'adresse 12... je doute que cela corresponde à votre besoin...

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 175
    Par défaut
    Citation Envoyé par Bayard
    cela signifie que l'on déclare un pointeur d'entier.
    Cela ne compile pas -> il faut mettre ; à la fin.

    Ce pointeur n'étant pas initialisé il pointe à priori n'importe où.

    Là, le pointeur pointe à l'adresse 12... je doute que cela corresponde à votre besoin...
    Merci la réponse.

    j'en ai pas besoin, c'est juste pour comprendre.
    j'ai corrigé le ";"
    12 c'est pas une adresse ? ou c'est l'adresse de l'entier 12 ?
    A la compilation : test.c:27: attention : assignment makes pointer from integer without a cast

  4. #4
    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 oranoutan
    12 c'est pas une adresse ? ou c'est l'adresse de l'entier 12 ?
    A la compilation : test.c:27: attention : assignment makes pointer from integer without a cast
    12 est une expression constante. Elle n'a pas d'adresse. C'est un entier de type int.

    D'autre part, un pointeur est une variable conçue pour recevoir une valeur de type adresse du type défini :
    ici, int.
    signifie que tu cherches à assigner une valeur de type int à une variable qui attend l'adresse d'un entier. C'est incohérent et le compilateur le signale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    test.c:27: attention : assignment makes pointer from integer without a cast
    "Attention, l'assignation transforme un entier en pointeur (adresse) sans conversion explicite."

    Il est en effet techniquement possible si on sait ce qu'on fait, de convertir un entier en adresse à l'aide d'un opérateur de conversion de type (typecast ou cast)
    Mais il faut que l'adresse 12 ait un sens sur la machine donnée, ce qui n'est évidemment nullement garanti (comportement dépendant de l'implémentation).

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 175
    Par défaut
    ok merci, pratique l'auto résolu

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 175
    Par défaut
    Bonjour,

    Encore une ptite question, lequel affiche l'adresse de p, car tout 2 renvoies des valeurs différentes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
       int *i,j;
       j=12;
       i=&j;
       printf("%p", i);
       printf("\n%p", &i);

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

Discussions similaires

  1. Problème de pointeurs..embrouillé
    Par Frenchy dans le forum C++
    Réponses: 11
    Dernier message: 10/03/2005, 16h33
  2. Problème de pointeur avec un TQuery
    Par Oluha dans le forum Bases de données
    Réponses: 3
    Dernier message: 25/01/2005, 13h57
  3. Problème de pointeur
    Par toma_lille dans le forum C++
    Réponses: 1
    Dernier message: 07/12/2004, 21h26
  4. [MFC] Problème de pointeur !!
    Par acastor dans le forum MFC
    Réponses: 7
    Dernier message: 19/03/2004, 15h50
  5. TBitmap et problèmes de pointeurs...
    Par benj63 dans le forum C++Builder
    Réponses: 8
    Dernier message: 28/07/2003, 13h39

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