Si j'utilise le caractère '\0' pour vider un tableau de char :
Il n'y a plus de pseudo-string ?? Mais il reste le caractère "1" ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 char tab1[2+1]="A1"; tab1[0]='\0'; printf("%s",tab1); printf("\n"); printf("%c",tab1[0]); printf("\n"); printf("%c",tab1[1]); printf("\n"); printf("%c",tab1[2]);
Le caractère '\0' marque la fin de quoi au juste, de la pseudo-string mais pas des caractères qui la compose ou plus précisément et dans ce cas, les trois emplacements mémoire de tab1 contiennent chacun dans l'ordre '\0', 1 et '\0'.
Avec :
Tout à l'air clean ou j'ai raté quelque chose en réalité ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 memset(tab1,0,2); //ou bzero(tab1,2);
Et est-il préférable en dernier argument de préciser le nombre total d’octet, '\0' compris soit (tab1,0,3) & (tab1,3) ?
Les octets \0 valent 0, NULL ou je m’égares ?
Bonne année à toutes et à tous.
Partager