Probleme de pointeur en C

Résolu
ollie314 Messages postés 145 Statut Membre -  
Luffy =) Messages postés 366 Statut Membre -
Bonjour

Voila je suis en plein apprentissage du C et j'ai un petit problem avec les pointeurs , la fonction suivante ne fonctionne pas

void inittab( char tab[32])
{
int i =0;
while( i <= 31)
{
tab[i] = '';
i++;
}
}

quelqu'un peu t il me dire pourquoi ça ne fonctionne pas ??? !!!!
erreur : emptu character constant

merci d'avance .

3 réponses

  1. XtremDev Messages postés 3 Statut Membre
     
    l'erreur est très simple, tu as écris :

    tab[i] = '';

    or le caractère '' (donc rien) n'existe pas !!!!!
    d'ou l'erreur "empty caracter constant"

    pour initialiser ton tableau, il faut l'affecter avec un caractère qui existe...

    tu peux écrire :

    tab[i] = ' '; // espace = 32 ou 0x20
    ou tab[i] = 0;

    sinon, question optimisation, tu pourrais écrire :

    void InitTab( char tab[32], char c )
    {
    memset(tab, c, 32);
    }
    0
  2. ollie314 Messages postés 145 Statut Membre 80
     
    bonjour,

    merci pour le coup de main !!
    0
  3. Luffy =) Messages postés 366 Statut Membre 110
     
    salut =)

    et j'ajouterais pour la forme que pour toutes les boucles où tu connais le nb de fois où tu vas boucler, il vaut mieux utiliser un for :
    int i=0;
    for(i=0; i <= 31; i++)
              tab[i]=' ';
    les while c'est bien, les for c'est mieux !
    0