Probleme de pointeur en C
Résolu
ollie314
Messages postés
145
Statut
Membre
-
Luffy =) Messages postés 366 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 .
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
-
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);
} -
-
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 !