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 :

Tableau de chaine de caractères avec seulement un caractère


Sujet :

C

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Décembre 2012
    Messages : 46
    Points : 31
    Points
    31
    Par défaut Tableau de chaine de caractères avec seulement un caractère
    Bonjour, j'étais en train de programmer et j'ai eu besoin de créer un tableau de chaine de caractère. Seulement quelques fois il y a seulement un caractère au lieu d'un chaine entière.

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    char s[7][6] = {'a', 'b', 'c', "left", "right", "up", "down"};
    Evidement j'ai des erreurs sur ce genre de code. J'utilise seulement les options -Wall et -Wextra pour gcc. Alors est-il possible de faire ce genre de tableau ? En mélangeant chaine de caractère et caracère unique. Si oui, comment ? Merci.

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Es-tu débutant?

    Parce que c'est quand même la base
    • char s[7][6], cela déclare un tableau à 2 dimensions de 7 lignes, 6 colonnes et dans chaque case on va mettre 1 seul caractère.
    • Même s'il n'y a qu'un seul caractère, c'est quand même une chaine de caractères (type char*): donc "a"


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    #include<stdlib.h>
    #include<stdio.h>
     
     
    int main(void)
    {
    	char* tab[] = {"a", "b", "c", "left", "right", "up", "down"};
    	int size = (sizeof(tab)/ sizeof(tab[0])), pos = 0;
     
    	for (; pos < size; pos++) {
    		printf("%2d: %s\n", pos, tab[pos]);
    	}
     
        return EXIT_SUCCESS;
    }
    Édit: gcc fait les malloc à ta place: trop facile, même si je soupçonne que tu ne puisses pas les modifier

  3. #3
    Membre émérite
    Avatar de imperio
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    852
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2010
    Messages : 852
    Points : 2 298
    Points
    2 298
    Par défaut
    @foetus: gcc ne malloque pas dans ce cas-la, les objets sont directement places dans la stack du programme. Tu peux tout a fait modifier leur contenu s'ils ne sont pas declarer const.

    @Halarp27: ne pas confondre 'a' et "a". Le premier est un char (donc un caractere) tandis que le deuxieme est un char* (donc une chaine de caractere).

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Décembre 2012
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Décembre 2012
    Messages : 46
    Points : 31
    Points
    31
    Par défaut
    Très bien, donc on ne peut mélanger les deux.

    Es-tu débutant?

    Parce que c'est quand même la base
    Non, je dirais entre le débutant et l'intermédiaire.

    Même s'il n'y a qu'un seul caractère, c'est quand même une chaine de caractères (type char*): donc "a"
    J'ai fait ça avant de créer le sujet hier. Je devais être très fatigué car je me souvient avoir vu des erreurs lors de la compilation, alors que maintenant ce n'est plus le cas

    Bref, désolé, sujet résolu.

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

Discussions similaires

  1. [Article] Coder en JavaScript avec seulement six caractères
    Par vermine dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 05/06/2016, 22h02
  2. [Ludique] Coder en Javascript avec seulement 3 caractères
    Par SylvainPV dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 12/06/2013, 17h29
  3. Réponses: 8
    Dernier message: 04/03/2012, 09h28
  4. tableau de chaine de caractere avec pointeur
    Par Oussama1 dans le forum C++
    Réponses: 7
    Dernier message: 15/12/2008, 13h12
  5. Réponses: 3
    Dernier message: 20/02/2008, 22h36

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