Maison >développement back-end >C++ >Comment puis-je initialiser les membres de la structure C à zéro ?

Comment puis-je initialiser les membres de la structure C à zéro ?

DDD
DDDoriginal
2024-12-08 10:08:12266parcourir

How Can I Initialize C   Struct Members to Zero?

Initialisation par défaut des membres de la structure C

Dans une structure C, les membres ne sont pas automatiquement initialisés à 0 par défaut. Pour initialiser les membres de la structure à 0, il existe plusieurs options :

Initialisation de la valeur

L'utilisation d'accolades vides entre accolades { } attribue des valeurs par défaut à tous les membres :

Snapshot s = {};

Structure parente Récursion

Si une structure parent contient une sous-structure, l'initialisation de la valeur de la structure parent initialisera également ses membres de sous-structure à 0 :

struct Parent { Snapshot s; };
Parent p = {}; // p.s.{x,y} will be zero

Constructeur Initialisation

Si la structure a un constructeur, les membres peuvent être initialisés dans son paramètre list :

struct Snapshot {
    int x;
    double y;
    Snapshot():x(0),y(0) { }
};
Snapshot s; // s.{x,y} will be zero

Initialisation de la valeur à l'aide de ()

L'initialisation de la valeur, indiquée par (), initialise les membres quel que soit leur type :

struct Snapshot {
    int x;
    double y;
};
Snapshot s = {x(), y()}; // s.{x,y} will be zero

Notez que l'initialisation des valeurs est importante pour les structures de modèles, garantissant une initialisation appropriée pour différents types.

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!

Déclaration:
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