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 :

placement de l'étoile (*) dans les déclaration


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 643
    Par défaut placement de l'étoile (*) dans les déclaration
    Salut à tous,

    Je vois souvent des écritures de déclaration de pointeurs différentes. Un coup l'étoile ce place juste après le type du pointeur et un autre coup l'étoile ce place juste avant le nom du pointeur.

    Je n'arrive pas à comprendre la logique et surtout comment procédé.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    char *p1 = strchr(str,'a');
     
    int* ptr = premiers;
    Vous voyez ce que je veux dire ?
    quel sont les règles d'écriture exactes des pointeurs ?



    Merci à vous

  2. #2
    Membre Expert

    Inscrit en
    Mai 2008
    Messages
    1 014
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 1 014
    Par défaut
    C'est la même chose. Les deux sont acceptés.
    Tu peux aussi écrire :
    ou encore si le cœur t'en dit.

  3. #3
    Membre Expert
    Avatar de méphistopheles
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 551
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 551
    Par défaut
    Bonjour.

    En C/C++, les espaces n'ont pour effet que de séparer des mots.... mais pas des caractères spéciaux, or le * est un caractère spécial donc comme l'a dit Arzar, c'est selon tes goûts.


    Personnellement, je préfère la syntaxe suivante: en effet, elle est moins trompeuse (à mon sens). Par exemple, si on déclare plusieurs variables sur la même ligne (ce qu'il ne faut pas faire, c'est mal, mais ça se trouve ) ici, ptr et ptr2 seront des pointeur mais var sera un int ! ce que n'est pas évident quand on écrit: Mais d'un autre coté, on écrit les arguments des fonctions prédéclarées souvent juste avec le type : et là, certains trouvent la syntaxe int* plus claire.... bref, pas un problème simple. peut être avoir une règle pour les variables et une pour les fonctions...

    Bonne chance

  4. #4
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Par défaut
    Salut,
    Comme le disent Arzar et Mephisto, c'est la même chose les espaces n'étant pas significatifs ici.
    La meilleur solution est de n'avoir qu'une déclaration à chaque fois :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    //int *p,i;
    int *p;
    int i;

  5. #5
    la_tupac
    Invité(e)
    Par défaut
    C'est tout à fait ça pour les règles d'écriture en C/C++.
    Mais pour le reste : http://www.bescherelle.com/

    Je n'arrive pas à comprendre la logique et surtout comment procédé.
    désolé mais moi ça me perturbe

  6. #6
    Membre très actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2007
    Messages
    643
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2007
    Messages : 643
    Par défaut
    Merci à tous, c'est bien ce qui me semblais

  7. #7
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    Remarque que la pratique veut qu'en C++ ça soit T* t; (et il me semble que c'est plus le contraire en C)

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/12/2012, 21h15
  2. Réponses: 9
    Dernier message: 19/03/2010, 11h14
  3. Ecrire les déclarations dans un module
    Par Olivier Regnier dans le forum Langage
    Réponses: 2
    Dernier message: 30/01/2008, 11h56
  4. Réponses: 2
    Dernier message: 08/03/2007, 10h23
  5. [Optimisation?] Déclaration de variable dans les boucles
    Par romaintaz dans le forum Langage
    Réponses: 5
    Dernier message: 11/08/2006, 16h08

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