Maison > développement back-end > C++ > Comment fonctionne l'initialisation partielle des structures et des tableaux en C et C ?

Comment fonctionne l'initialisation partielle des structures et des tableaux en C et C ?

Barbara Streisand
Libérer: 2024-12-24 08:40:19
original
695 Les gens l'ont consulté

How Does Partial Initialization of Structures and Arrays Work in C and C  ?

Initialisation partielle des structures et tableaux automatiques en C et C

Initialisation partielle

En Dans les langages de programmation structurés comme C et C , les initialiseurs peuvent être utilisés pour attribuer des valeurs aux données membres au moment de la déclaration de l'objet. Cependant, contrairement au cas 1 de l'extrait de code fourni ci-dessous, où moins d'initialiseurs que le nombre de membres sont fournis, les normes ne définissent que deux types d'initialisation :

struct someStruct {
    int a;
    int b;
    int c;
};

// Partial Initialization
struct someStruct s = {123,};
Copier après la connexion
// Complete Initialization
struct someStruct s = {123, 456, 789};

// No Initialization
struct someStruct s;
Copier après la connexion

Règles d'initialisation partielle : de tableaux et de structures

En pratique, le terme « Initialisation partielle » est souvent utilisé pour décrire des situations comme dans le cas 1 ci-dessus, où les initialiseurs sont fournis uniquement pour un sous-ensemble de membres. Bien que les normes C et C ne fassent pas explicitement référence à l'initialisation partielle, elles définissent le comportement pour une initialisation complète et sans initialisation, les règles suivantes s'appliquant également à l'initialisation partielle :

  • Si un tableau ou structure est partiellement initialisée, tous les éléments non initialisés seront initialisés à zéro, quel que soit son type de stockage.
  • Ce comportement est garanti par la norme C99 (6.7.8.21) pour C et la norme C 03 (8.5.1 et 8.5) pour C .

Assurer la compatibilité

Pour assurer la compatibilité avec divers compilateurs, dont gcc/g , il est recommandé de suivre les règles standard lors de l'initialisation des structures et des tableaux, en évitant une initialisation partielle car cela pourrait conduire à un comportement inattendu.

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 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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal