Maison > développement back-end > C++ > Comment initialiser efficacement tous les éléments du tableau à une valeur par défaut en C ?

Comment initialiser efficacement tous les éléments du tableau à une valeur par défaut en C ?

DDD
Libérer: 2024-12-24 16:03:14
original
272 Les gens l'ont consulté

How to Efficiently Initialize All Array Elements to a Default Value in C  ?

Initialisation de tous les éléments d'un tableau à une valeur par défaut

En C , vous pouvez initialiser tous les éléments d'un tableau à une valeur par défaut en utilisant le syntaxe suivante :

int array[100] = {0};
Copier après la connexion

Cela définira tous les éléments du tableau sur 0. Cependant, vous pouvez rencontrer un comportement inattendu lorsque vous tentez de initialiser tous les éléments à une valeur non nulle, telle que -1.

Définition de tous les éléments à une valeur non nulle

La syntaxe :

int array[100] = {-1};
Copier après la connexion

demande au compilateur de définir uniquement le premier élément sur -1, tandis que les éléments restants seront par défaut sur 0. Pour initialiser tous les éléments à -1, vous pouvez utiliser des méthodes telles que :

  • std::fill_n (Bibliothèque standard C) :
std::fill_n(array, 100, -1);
Copier après la connexion
  • Initialisation basée sur une boucle (Portable C) :
for (int i = 0; i < 100; i++) {
  array[i] = -1;
}
Copier après la connexion

Considération relative aux performances

La question de savoir si l'initialisation par défaut est plus rapide qu'une approche basée sur une boucle dépend de facteurs tels que le compilateur et la cible. plate-forme. En général, les compilateurs modernes peuvent optimiser l'initialisation basée sur les boucles en utilisant des éléments intrinsèques spécifiques à la plate-forme. Par conséquent, la différence de performances est souvent négligeable.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal