question sur les char (caractère '\0')
Bonjour,
les chaines de caractères en C/C++ doivent finir par le caractère '\0'. Donc pour travailler avec une chaine de taille SIZE_CHAR il faut declarer : char ma_chaine[SIZE_CHAR+1]. et le "+1" sert pour mettre le fameux '\0'.
Maintenant je suis entrain de reprendre du code et je vois des char chaine[2]. Donc ma question est la suivante :
- est-il vrai que dans cette chaine on ne peut mettre qu'un caractère et que le dernier c un '\0'. Si oui un char[2] ca sert a quoi :D ??
- si je fais
Code:
1 2 3 4
|
char ma_chaine[2];
memset(ma_chaine,0,2);
memcpy(ma_chaine,autrechaine,2); |
est-ce qu'il y a un risque de core dump et qu'ils ont du bol que ca c pas produit ??
Environnement : Windows XP, Visual C++ 6.0