Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] Struct ed inizializzazione

    Salve a tutti,
    ho la seguente struttura
    codice:
    typedef struct{
                    int matrice[cost_elem_max][cost_elem_max];
                    int num_riga;
                    int num_colonna;
                  }matrix;
    Questa fa parte di una libreria, e vorrei che fosse inizializzata numriga uguale a 0 e num colonna uguale a 1. Se faccio l'assegnazione direttamente dentro la struct mi da errore.

    L'unica mi sembra che è farla del main, ma io vorrei fare in modo di inizializzarla nella libreria in modo che poi non debba ricordare all'utente questa inizializzazione. Come potrei fare?
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  2. #2
    In queste situazioni in C, dato che non esistono i costruttori, si usa fornire delle routine di inizializzazione per le strutture; potresti ad esempio fornire una routine InitMatrix che imposti i valori di default per la matrice.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Originariamente inviato da MItaly
    In queste situazioni in C, dato che non esistono i costruttori, si usa fornire delle routine di inizializzazione per le strutture; potresti ad esempio fornire una routine InitMatrix che imposti i valori di default per la matrice.
    Si l'avevo pensata anch'io una cosa simile, quindi ho conferma che non è possibile farlo in nessun modo mediante dichiarazione
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  4. #4
    Esatto; infatti in C le strutture sono tipi completamente passivi, dati senza codice associato.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.