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 :

Char* et Char (%s)


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Par défaut Char* et Char (%s)
    Salut à tous j'aimerais avoir la différence et l'impact lors de l'utilisation de ces 2 types lors de la déclaration d'une chaîne de caractère.

  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
    Char * et Char (%s) ne sont pas des types du C, tu peux préciser ton problème ?

    "char *" est un type du C. Par contre Char (%s), je ne comprends pas
    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
    Rédacteur
    Avatar de darrylsite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 299
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 299
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Char * et Char (%s) ne sont pas des types du C, tu peux préciser ton problème ?

    "char *" est un type du C. Par contre Char (%s), je ne comprends pas
    De plus, je n'est jamais vu une declaration en c de ce genre : char(%s). A moins ça ne soit dans un autre langage.

  4. #4
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 461
    Par défaut
    Citation Envoyé par darrylsite Voir le message
    De plus, je n'est jamais vu une declaration en c de ce genre : char(%s). A moins ça ne soit dans un autre langage.
    Il fait peut-être référence à printf() et à la chaîne qu'il faut alors lui associer.

  5. #5
    Membre éprouvé Avatar de vg-matrix
    Inscrit en
    Février 2007
    Messages
    1 220
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Février 2007
    Messages : 1 220
    Par défaut Char(%s)
    Désolé j'ai pas fais de précisions.

    Pour char(%s) je fais allusion à déclarer une variable (chaîne de caractère) avec le type char puis puis dans un scanf ou un printf utiliser le format %s.

    Mon problème est de savoir lequel de ces deux types est le plus approprié pour une chaîne de caractère (utilisation de la mémoire, rapidité d'exécution).

  6. #6
    Expert confirmé
    Avatar de Melem
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2006
    Messages
    3 656
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3 656
    Par défaut
    char est le nom du type "caractère" en langage C. Pour afficher un caractère à l'aide de la fonction printf, on utilise le spécificateur de format "%c". Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char mon_char = 'A'; /* Un caractere. */
    printf("mon_char = %c.\n", mon_char);
    '\n' c'est le caractère qui permet de passer à la ligne suivante ...
    En fait si on veut simplement afficher un caractère, on peut également utiliser la "fonction" putchar.
    char * est le nom du type pointeur sur un caractère en langage C. Une chaîne, lorsqu'elle est utilisée en dehors de sizeof, est toujours convertie par le compilateur en un pointeur vers son premier caractère. Pour afficher une chaîne (dont on connaît l'adresse de son premier caractère ...) dans printf, on utilise le spécificateur de format "%s". Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char * mon_pointeur = "Bonjour."; /* mon_pointeur pointe sur le caractere 'B' de la chaine "Bonjour". */
    printf("%s\n", mon_pointeur);

  7. #7
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Par défaut
    Citation Envoyé par vg-matrix Voir le message
    Désolé j'ai pas fais de précisions.

    Pour char(%s) je fais allusion à déclarer une variable (chaîne de caractère) avec le type char puis puis dans un scanf ou un printf utiliser le format %s.

    Mon problème est de savoir lequel de ces deux types est le plus approprié pour une chaîne de caractère (utilisation de la mémoire, rapidité d'exécution).
    char(%s) n'existe pas et ne veux rien dire en C. Où est-ce que tu as vu ça ?

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

Discussions similaires

  1. pb conversion unsigned char vers char *
    Par FamiDoo dans le forum C
    Réponses: 11
    Dernier message: 24/08/2006, 18h11
  2. Comparer 2 Char / Convertir Char -> Int
    Par mbk-w dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 09/06/2006, 11h09
  3. unsigned char* to char*
    Par xela2000 dans le forum MFC
    Réponses: 4
    Dernier message: 20/11/2005, 16h07
  4. conversion char wide char
    Par ep31 dans le forum MFC
    Réponses: 4
    Dernier message: 15/11/2005, 08h14
  5. Pb Invalid Conversion "char" to "char*"
    Par kazarn dans le forum C++
    Réponses: 3
    Dernier message: 02/03/2005, 13h24

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