Signification ligne tableau en C

sabine -  
Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
j'ai une ligne en C qui est la suivante:

char animal[3][20]={"chat","tigre","taureau"} Ma question est la suivante: ON a un tableaau à 2 dimensions vous êtes d'accord? Le 3 c'est le nombre de lignes du tableau et le 20 le nombres de colonnes par éléments de la ligne?
DOnc quand on délcare un tableau de chaine de caractères à 2 dimensions, chaque ligne doit être distinguée par des guillemets et le nombre de colonnes par le nombre de caractères entre guillemets c'est ça?

merci à vous.

2 réponses

  1. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    Pas vraiment.
    Il n'y a pas de notion de ligne et colonne en C. TYPE x[N][M]; veux dire que x est un tableau de N case où chaque case est un tableau de type TYPE de longueur M.
    La déclaration statique de ce type de tableau c'est {{TYPE,TYPE,...(N fois) },{TYPE,TYPE,...(N fois) },...(M fois)}
    cans le cas des caractère, tu peux utiliser les guillemets à la place des accolades.
    char c[]="abcd" ou char c[]={'a','b','c','d','\0'};
    0
    1. sabine
       
      merci snipeur, si par exemple j'ai ceci:

      char mots[3][20]={"chat","chèvre","serpent"};
      char *mot;
      mot=mots[rand()%NBMOTS];

      la dernière instruction veut dire que dans la variable mot on met l'adresse de la première lettre d'un des 3 mots choisis au hasard c'est bien ça?
      0
  2. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    oui.
    0