Dubbio sulle strutture In C

di il
5 risposte

Dubbio sulle strutture In C

Salve a tutti, mi è venuto un dubbio che forse è anche banale ma non riesco a risolverlo.
Quando utilizzo una struttura in C, come faccio ad inizializzare un unico elemento?
Per esempio:

Typdef struct{
int x;
int y;
int flag; }coordinate;

Vorrei inizializzare solo flag a 0, senza andare a toccare gli altri elementi. Come si fa?

5 Risposte

  • Re: Dubbio sulle strutture In C

    Utilizza il . per accedere al singolo campo

    P.S. Hai studiato le basi della teoria?
  • Re: Dubbio sulle strutture In C

    Per modificarla puoi usare
    .
    esempio
    coordinate.flag=0;
    
    
  • Re: Dubbio sulle strutture In C

    Si lo so, se fosse un vettore del tipo:

    coordinate co[K];

    e volessi inizializzare ogni singolo flag, dovrei farlo attraverso un while o un for? O posso dare l'inizializzazione in un altro modo?
  • Re: Dubbio sulle strutture In C

    L'inzializzazione statica di array di struct è prassi assolutamente normale contemplata dal K&R.
    E' sufficiente usare una prima coppia di delimitatori {} per l'intero array, inserendo gli inizializzatori di ciascuna struttura tra una ulteriore coppia di {}, separati da virgole. Come per ogni altra inizializzazione, gli elementi dell'array (in questo caso le struct, delimitate da graffe) saranno a loro volta separate da virgole.
    
    struct {
        bla;
        bla;
        bla; 
    } array[3] = {
    {uno, due, tre},
    {quattro, cinque, sei}, 
    {sette, otto, nove}
    };
    
    Si veda anche questo thread.
  • Re: Dubbio sulle strutture In C

    Ovvero, se devi modificare un solo elemento nel seguito del programma, utilizza un for.
Devi accedere o registrarti per scrivere nel forum
5 risposte