C++: la taille d'un char tableau à l'aide de sizeof

Regardez la partie suivante de code en C++:

char a1[] = {'a','b','c'};
char a2[] = "abc";
cout << sizeof(a1) << endl << sizeof(a2) << endl;

Si sizeof(char) est de 1 octet, pourquoi la sortie de montrer sizeof(a2) 4 et pas 3 (comme dans le cas de a1)?

  • +1, à en Juger par les réponses (et mon expérience avec les programmeurs juniors), c'est une question qui provoque beaucoup de confusion et de résultats dans de nombreux bogues subtils qui peuvent être difficiles à trouver.
InformationsquelleAutor Saad | 2012-05-24