Probleme initialisation tableau

Résolu
Bonjour,
j'ai declaré un tableau comme ceci:

char * TabMes;
int taille =20;

je creer ce tableau:

TabMes=malloc(taille);
if(TabMes==NULL)
{
printf("impossible de creer le tableau\n");
}
else
{
printf("creation tableau ok\n");
}

je voudrais remplir ce tableau donc je fais:

for (int i=0;i<20;i++)
{
if (TabMes[i]==11)
{
TabMes[i ]="Celui La";
}
else
{
TabMes[i]="Pas Celui la";
}
}

quand je compile tout va bien mais quand j'exécute: une fenetre s'ouvre avec ce message:

Access violation writing location 0x00000000.

et quand j'ouvre ma fenetre d'execution il y a marqué:
impossible de crér le tableau.

Je ne comprend pas pourquoi.Pouvez vous m'aidez????
merci
Configuration: Windows Vista
Internet Explorer 7.0

6 réponses

  1. c'est normal tu essai de mettre des chaine de caractère dans un tableau de caractère
    1. ben oui c'est ce que je veux faire.Pourquoi ca pose un probleme?
      1. parce que tu déclares un char * TabMes donc un tableau de char et non pas un tableau de char*
        de plus if (TabMes[i]==11) tu test si il y a des int dedans, gros problème de typage sur ton programme
        1. j'ai changé mon char * TabMes en char **TabMes

          et modifier mes test :

          for(k=0;k<taille;k++)
          {

          if(k==11)
          {
          TabMes[k]="celui la";

          }
          else
          {
          TabMes[k]="pas celui la";

          }
          }
          mais je n'arrive toujours pas a créer mon tableau avec :
          TabMes = malloc(taille);
          1. déclare tout simplement un char* TabMes[taille];
            comme ça tu ne fais pas de malloc inutile =)
            1. si je pouvais je le ferai mais malheureusement je n'ai pas le choix. Il me faut un char ** TabMes.