161 votes

initialiser le tableau à 0 en C

J’ai besoin d’un gros tableau null dans C comme un mondial. Est-il possible de le faire en plus de taper

?

263voto

John Kugelman Points 108754

Les variables globales et les variables statiques sont automatiquement initialisées à zéro. Si vous avez tout simplement

char ZEROARRAY[1024];

au niveau global, il sera tout de zéros au moment de l'exécution. Mais en fait, il est une abréviation de syntaxe si vous aviez un local de tableau. Si un tableau est partiellement initialisé, des éléments qui ne sont pas initialisés à la valeur 0 du type approprié. Vous pourriez écrire:

char ZEROARRAY[1024] = {0};

Le compilateur de pourvoir le non écrites les entrées avec des zéros. Sinon, vous pouvez utiliser memset pour l'initialiser au démarrage du programme:

memset(ZEROARRAY, 0, 1024);

Ce serait utile si vous avez modifié et a voulu le réinitialiser retour à tous les zéros.

31voto

Deqing Points 2178

Si vous souhaitez initialiser le tableau des valeurs autres que 0, avec `` vous pouvez faire :

C’est une fonctionnalité de C99 - Initializers désigné. Donc vous aurez besoin d’utiliser l’option ou pour compiler votre code.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X