Maison >développement back-end >C++ >Pourquoi certains éléments du tableau sont-ils initialisés à zéro lorsque j'attribue une valeur par défaut en C ?
Initialisation des éléments du tableau avec une valeur par défaut en C
Question :
Pourquoi l'initialisation un tableau avec une valeur non nulle utilisant la syntaxe ci-dessous entraîne une incohérence valeurs ?
int array[100] = {-1};
Réponse :
En utilisant la syntaxe mentionnée dans la question,
int array[100] = {-1};
initialise le premier élément à la valeur spécifiée (-1) et définit les éléments restants sur 0 par défaut. Pour initialiser tous les éléments à -1, on peut utiliser la fonction std::fill_n de
std::fill_n(array, 100, -1);
Pour le code C, une boucle manuelle est nécessaire pour initialiser explicitement tous les éléments. Les extensions du compilateur ou les comportements définis par l'implémentation peuvent fournir des raccourcis, mais il n'est pas recommandé de s'en servir pour la portabilité.
Concernant la vitesse d'initialisation :
La méthode d'initialisation par défaut n'est généralement pas plus rapide que d’initialiser explicitement chaque élément à l’aide d’une boucle. Cependant, la différence de performances est généralement négligeable, sauf s'il s'agit de grands tableaux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!