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 :

"string" est-elle de type char*


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2010
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 13
    Par défaut "string" est-elle de type char*
    Bonjour,
    s'il vous plaît, que retourne une chaîne de caractères constante placée entre guillemets ?
    retourne-t-elle une adresse mémoire d'un caractère ? (de son premier caractère) ?

    Peut-on écrire : "bonjour"[n] ?

    Merci.

  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
    En C, pour des raisons historiques, c'est bien compatible avec char*, mais c'est peut-être char[taille] en fait. En tout cas, Visual accepte de compiler ceci:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        {
            char (*p)[8] = &"bonjour";
        }
    Et proteste sur ceci:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        {
            char **p = &"bonjour"; /* warning C4047: 'initializing' : 'char **' differs in levels of indirection from 'char (*)[8]' */
        }

    Avec le switch -Wwrite-strings de gcc, on passe à const char[taille].
    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 émérite
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par défaut
    s'il vous plaît, que retourne une chaîne de caractères constante placée entre guillemets ?
    L'adresse de son premier caractère.

    retourne-t-elle une adresse mémoire d'un caractère ? (de son premier caractère) ?
    Oui.

    Peut-on écrire : "bonjour"[n] ?
    Ça compile sans erreur sous Visual C++ et sous Code::Block mingw

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

Discussions similaires

  1. UPDATE en ajoutant un 0 sur un champ de type "char"
    Par doum2 dans le forum Requêtes
    Réponses: 1
    Dernier message: 08/03/2006, 14h22

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