raggruppando le variabili in un sistema in C? [chiuso]

-3

All'interno di C, diciamo che ho un numero di variabili, float, interi ecc., c'è un modo per raggrupparli tutti in un unico oggetto, chiamarlo un sistema e quindi creare N copie di tale oggetto.

Inoltre, c'è un modo per assegnare a ciascuna copia del sistema un particolare valore di una variabile T tale che ogni sistema abbia una T diversa ma predeterminata?

Sono molto nuovo alla programmazione in C quindi non so da dove iniziare, il tuo aiuto è molto apprezzato.

    
posta AngusTheMan 04.10.2015 - 20:09
fonte

1 risposta

0

Modo rapido e sporco per farlo:

typedef unsigned int t_t;

struct your_thing {
    int a;
    float b;
    char z[20];

    t_t t;
};

struct your_thing copy_thing(struct your_thing thing) {
    static t_t counter = 0;
    thing.t = counter++;
    return thing;
}

Esempio:

struct your_thing a = { ... };
a = copy_thing(a); // needed to initialize a.t
struct your_thing b = copy_thing(a);

b.t è ora diverso da a.t , e fintanto che tutte le copie della struct sono fatte con copy_thing() non collidono mai.

Questo non è un ottimo modo per farlo, poiché la variabile static è globale e non thread-safe. Non riesco a capire perché vorresti farlo. Quello che probabilmente hai qui è il problema XY .

    
risposta data 04.10.2015 - 20:38
fonte

Leggi altre domande sui tag