struktur mit daten füllen



  • hallo

    ich habe eine frage bzgl. strukturen.
    ich habe folgende struktur deklariert:

    typedef struct nbr{
    	int zahl1;
    	int zahl2;
    	char prefix[5];
    };
    

    Ich möchte nun eigentlich ein "struct nbr"-Array initialisieren, weis aber nicht wirklich wie ich das anstellen kann.

    Ein int-array initialisieren würde ja folgendermassen gehen:

    unsigned short zahl[3] = {
        0x00, 0x31, 0x62
    };
    

    in diesem beispiel würde ja zahl[0] den wert 0x00 erhalten, zahl[1] den wert 0x31, usw. (ich hoffe meine äusserungen sind korrekt soweit..)

    mein ziel wäre eigentlich, dass ich ein initialisiertes array in einem header-file speichern kann. somit müsste ich die werte nicht mittels funktion dem array zuweisen, sondern das "gefüllte" array würde dann stets bestehen.

    FRAGE:
    kann ich auf eine solche weise auch ein struct-array mit daten/werten füllen?
    oder muss ich es zuerst (wie üblich) deklarieren und erst danach kann ich werte zuweisen?

    ich hoffe ihr versteht mein problem und könnt mir helfen.
    gruss



  • Initialisieren tust du in Sorucedateien, nicht in Headerdateien.

    Bin mir nicht sicher aber probier mal:

    nbr blubb[2] =
    {
      { 1, 2, "abc" },
      { 3, 4, "bla" },
    };
    

    Und bitte den C++-Highlighter nutzen 🙂



  • Neku schrieb:

    Bin mir nicht sicher aber probier mal:

    nbr blubb =
    {
      { 1, 2, 'a' },
      { 3, 4, 'b' },
    };
    

    Fast - mit der obigen Definition wäre es:

    nbr blubb =
    {
      4711,  //zahl1
      0x0815,//zahl2
      "echo" //prefix
    };
    
    nbr blubb2 =
    {
      4711,
      0x8815,
      {'a','u','t','o','-'}
    };
    


  • hups danke, hab oben nur schnell die Typen abgelesen (int, int, char - jaja ^^).

    *edit* Array-Deklaration hab ich auch vergessen 🙄


Anmelden zum Antworten