strukturen in einem Array speichern?



  • Hallo,

    ist das möglich?

    also ein array int x[10]
    und eine struktur von mir aus struct y{ int zahl; string name;};

    und somit y in x[1] zu speichern?
    Wenn ja wie muss dann das Array angegeben sein?

    Vielen Dank.



  • Aus welchem Grund willst du eine Struktur in ein int -Array hineinquetschen? Kannst du nicht gleich ein Struktur-Array nehmen?



  • wenn das die alternative ist mach ich auch gern das.

    es geht mir nicht um ein int array kann auch jedes andere array sein



  • Ist doch ganz einfach. 🙂

    struct struct_t {
       int i;
       float f;
       double d;
    } var[3] = { 
       2, 5.0f, 3.53,
       6, 2.8f, 7.45,
       25, 8.1f, 6.26
    };
    


  • japs danke, wenns nur soi geht werd ichsso lösen 🙂



  • Nein, es geht natürlich nicht nur so. Aber solange du nicht genau sagst, was du eigentlich erreichen willst, können wir auch nur raten.

    Ich würde ausserdem keine globalen Variablen wie bei Ad aCTa anlegen, wenns nicht nötig ist.



  • Üblicherweise, wenn man eine dynamischen Container will, nimmt man einen der Standardbibliothek, wie z.B std::list , std::vector usw. (Je nach Anforderungen).
    Und der Struktur (oder eher Klasse), die man dort drin haben will üblicherweise einen passenden Konstruktor und dann kann man die Objekte ganz einfach in den Container pushen.

    #include <vector>
    
    class foo
    {
    public:
     foo (int i, int n = 2)
      :
     m_i ( i ),
     m_n ( n )
     {}
    
    private:
     int m_i;
     int m_n;
    };
    
    int main ()
    {
     std::vector<foo> v;
     v.push_back ( foo ( 5 ) );
     v.push_back ( foo ( 5, 5 ) );
     //...
    }
    

    Das ist so der übliche Weg, um beliebige Typen zu verwalten. Das heisst nicht, dass Arrays grundlegend Falsch sind. Es gibt Einsatzgebiete, wo solche Container nicht geeignet sind, aber das sind eher Ausnahmen und als Anfänger ist es bestimmt einfacher so etwas zu benutzen, als sich mit dynamischen Container zu beschäftigen und schlussendlich dasselbe implementieren zu wollen, was bereits gegeben ist.

    Um mehr über die STL zu erfahren, solltest du dich mit einem guten Grundlagen Buch beschäftigen und ev. einen Blick ins FAQ wagen. Und auch bei den Artikeln gibt es einiges.


Anmelden zum Antworten