Struktur in Struktur für Datum ?



  • Hallo,
    ich habe hier ein Übungsblatt vorliegen.

    Ich soll eine Struktur mit Komponenten:
    - Name
    - Datum (Tag,Monat,Jahr)
    .
    .

    erstellen.
    Nun ist die Frage, wie ich mit dem Datum realisiere.
    Kann ich mit Unterstruktur realisieren oder gibt es andere Wege?

    Ich würde es so machen:

    struct daten{
    
    	char Name;
    
            struct datum{
    		int tag;
    		int monat;
    		int jahr;
    	};
    
    };
    

    Außerdem verstehe ich immer noch nicht den Unterschied zwischen:

    struct daten{
    
    };
    
    struct {
    
    }daten;
    
    typedef struct daten{
    
    }daten_t;
    
    typedef struct daten{
    
    };
    

    Danke



  • struct daten{
    
    };
    

    Definiert eine Struktur mit Namen daten.

    struct {
    
    }daten;
    

    Definiert eine namenlose Struktur und erstellt eine Instanz dessen namens daten.

    typedef struct daten{
    
    }daten_t;
    

    Definiert eine Struktur mit Namen daten, anschließend definiert daten_t als selbiges.

    typedef struct daten{
    
    };
    

    Unvollständige Version des letzteren, sinnlos.

    Nach diesen Erklärungen sollte folgendes das sein (oder so ähnlich), was du erstrebst:

    struct daten{
    	char name[128];
    	struct{
    		unsigned char tag, monat;
    		short int jahr;
    	}datum;
    };
    

    Dem Namen wird 127 Zeichen (+Terminierungszeichen) Platz gegeben, dem Datum werden passende Datentypen zugeordnet, um Speicher zu sparen.



  • Du kannst natürlich auch eine struct datum vorher definieren (kann man ja immer mal gebrauchen) und diese dann daten einbinden.

    typedef struct datum {
            short int jahr;
            unsigned char tag, monat;
        } datum_t;
    
    struct daten {
        datum_t datum;
        char name[128];
    };
    


  • dankeschön euch beiden. sehr verständlich erklärt.


Anmelden zum Antworten