0
votes

Effacer toutes les valeurs dans une structure imbriquée transmise à une fonction par adresse

Voici mes structures:

void updateContact(struct Contact contacts[], int size)
{
        // More code up here that deals with finding the index 
        // and such

        contacts[index].name = { 0 }; // Expected an expression before {
}


0 commentaires

3 Réponses :


3
votes

Vous pouvez zéro sur un contact comme celui-ci:

        contacts[index].name = (struct Name){ 0 };


1 commentaires

Garder une trace des membres ne pose pas de problème, j'ai vu cela comme une solution déjà mais je suis surpris comme ça n'est pas un moyen plus facile de le faire.



-2
votes

Je vous suggère de le faire à l'aide de MALLOC afin que vous puissiez facilement libérer la mémoire en utilisant gratuitement (pointeur);

Changez votre structure en ce que: P>

free(name.firstName);
free(name.middleInitial);
free(name.lastName);


0 commentaires

0
votes

Concernant:

memset( contacts, 0, sizeof( contacts ) );


1 commentaires

S'il vous plaît ne violez pas de réponses lorsque le Fiddling ajoute aucune valeur. En général, la capitalisation ne signifie rien. Supprimer l'espacement ajouté pour la lisibilité ne doit pas être supprimé