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 :

Difference entre ces 3 notations


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 27
    Par défaut Difference entre ces 3 notations
    Bonjour

    J'aimerai comprendre la différence existant entre ces 3 notations que je rencontre de temps a autre...

    char *p;
    char* p;
    toto * p;

    Ce que je crois avoir compris..
    char *p definit p comme pointeur ( et *p est un caractere..)
    char* p...La je ne suis pas sur !!!
    toto * p Je crois, p pointe sur une fonction ( pas sur...)

    J'ai lu pas mal de documents mais n'arrive pas a me faire une idée definitive
    Merci pour un eventuel coup de main

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    char *p;
    char* p;
    Ces 2 écritures sont STRICTEMENT équivalentes et aussi équivalentes à
    C'est uniquement une histoire de goût d'écriture personnelle




    La seule chose que l'on puisse dire à ce niveau et sans autre code, c'est que p est un pointeur sur un truc qui s'appelle toto.

    Citation Envoyé par alcofribas Voir le message
    Je crois, p pointe sur une fonction ( pas sur...)
    Pas forcemment, il n'y a pas suffisemment de code dans ce que tu présentes pour être affirmatif.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Et pour compléter les différentes possibilités, tu peux aussi écrire (mais c'est moins lisible et peu usité)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 27
    Par défaut
    Ah grand merci les gars....
    je cherchais la petite bete inutilement !!!
    maintenatn, je vais pouvoir me concentrer sur le vrai probleme

  5. #5
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Goût personnel et/ou habitudes...

    La notation "char* p" est plus dans l'esprit d'un langage comme Pascal : on définit une variable "p", de type "pointeur sur char".
    La notation "char *p" serait plus dans l'esprit assembleur : on définit une indirection vers un type "char".

    Après, le compilateur ne voit effectivement aucune différence entre les deux notations, c'est juste que chaque développeur utilise celle qu'il préfère. Pour ma part, je préfère très nettement la première forme, bien qu'il m'arrive aussi d'utiliser la seconde dans les signatures de fonction pour "marquer" (si l'on peut dire...) que c'est une référence plutôt qu'un simple pointeur. Ceci étant dit, ça n'aide que moi, vu que ça n'a aucun impact sur le code produit.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  6. #6
    Membre émérite Avatar de SofEvans
    Homme Profil pro
    Développeur C
    Inscrit en
    Mars 2009
    Messages
    1 084
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 084
    Par défaut
    La difference de notation intervient quand on fait ceci :

    char *p, a ,b;

    Un pointeur vers char et deux char.

    char* p, a, b;

    trois pointeur de type char.

    Cependant, je confond toujours
    Est-ce que cela est bon ?

Discussions similaires

  1. Différences entre Delphi et Visual Basic ?
    Par Anonymous dans le forum Débats sur le développement - Le Best Of
    Réponses: 75
    Dernier message: 30/03/2009, 20h09
  2. Réponses: 4
    Dernier message: 27/07/2007, 16h39
  3. Difference entre ces 2 manieres d'instancier.
    Par Mobistar dans le forum Langage
    Réponses: 6
    Dernier message: 09/07/2007, 11h25
  4. [] Difference entre MSHFlexGrid et MSFlexGrid
    Par olivierx dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 23/04/2003, 08h48
  5. Difference entre types d'Adresse IP
    Par freud dans le forum Développement
    Réponses: 3
    Dernier message: 02/03/2003, 02h06

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