J'ai appris sur l'utilisation de terminateurs nuls dans les tableaux de C et je suis confus pour expliquer pourquoi l'initialisation d'un tableau à une terminaison null ne fonctionne pas le même que l'initialisation à 0.Pourquoi l'initialisation d'un tableau à un terminateur null n'entraîne-t-elle pas "null" pour chaque section en mémoire?
Par exemple:
char setOfCharacters [15] = {'\0'};
par rapport à
char setOfCharacters [15] = {0};
Je sais que l'initialisation setOfCharacters à 0 signifie que chaque emplacement de mémoire dans le tableau est titulaire d'un 0 à commencer avec. Mais pourquoi ne fonctionne-t-il pas pour quand vous initialisez un tableau à un terminateur null?
"* Mais pourquoi ne fonctionne-t-il pas de la même façon lorsque vous initialisez un tableau à un terminateur null? *" Qui a dit que ce n'est pas le cas? –
Ensuite, les deux devraient se comporter de la même manière. Vous avez besoin d'un [mcve]. – juanchopanza
Perplexe. Dans ce cas, "\ 0" et "0" devraient aboutir à la même chose. Démo: https://ideone.com/g5h4DF – user4581301