int a[] ----- int a [] []


  • Mod

    ein array int[4][2] ist zunächst einmal ein array aus 4 elementen, diese elemente sind selbst arrays der größe 2 aus ints. wenn du also weißt, wie ein array aus ints aufgebaut ist, ergibt sich der rest ganz automatisch.



  • GPC schrieb:

    <hust>

    😕 genau das was du sagst, sagt er doch acuh.



  • Kann man auch sehr schön sehen, wenn man da über einen Zeiger drauf zugreift:

    int a[8];
    int b[2][4];
    int c[2][2][2];
    int* pa = a;
    int* pb = *b;
    int* pc = **c;
    for (int i = 0; i < 8 ; ++i)
    {
    	*pa++ = i;
    	*pb++ = i;
    	*pc++ = i;
    }
    


  • dEUs schrieb:

    GPC schrieb:

    <hust>

    😕 genau das was du sagst, sagt er doch acuh.

    😕 Hab ich was verpasst? Das <hust> war wegen dem "fragwürdigem" Deutsch 😉
    Außerdem wollte er ne Bestätigung haben, die hat er ja gekriegt.

    MfG

    GPC



  • ok, dann hab ich das falsch verstanden. Ich dachte es bezieht sich auf den Inhalt, nicht auf die Form 😉



  • ja, dEUs, war ich nicht sicher, vielen dank GPC...

    vielen Dank Joe_M. warum habe ich diese tolle Idee nicht gefunden? Das ist Unterschiede zwischen Profil und Fans 😞 😞 😞

    int a[8];
    int b[2][4];
    int* pa = a;
    int* pb = *b;
    for (int i = 0; i < 8 ; ++i)
    {
     *pa++ = i;
     *pb++ = i;
    }
    
    for (int i = 0; i < 8 ; ++i) cout<<pa++<<' ';
    cout<<endl;
    // 0012FF64 0012FF68 0012FF6C 0012FF70 0012FF74 0012FF78 0012FF7C 0012FF80
    for (int i = 0; i < 2 ; ++i)
      for (int j = 0; j< 4 ; ++j)
        cout<<"b["<<i<<"]["<<j<<"] = "<<b[i][j]<<'\n';
    /*
    b[0][0] = 0
    b[0][1] = 1
    b[0][2] = 2
    b[0][3] = 3
    b[1][0] = 4
    b[1][1] = 5
    b[1][2] = 6
    b[1][3] = 7
    */
    cout<<endl;
    for (int i = 0; i < 8 ; ++i) cout<<pb++<<' ';
    cout<<endl;
    // 0012FF3C 0012FF40 0012FF44 0012FF48 0012FF4C 0012FF50 0012FF54 0012FF58
    

    ja, richtig! (scheisse!) GPC hat recht!!!
    aber d.h.

    wenn ich eine Datenstruktur auswähle, das ist Egal, a[] oder a[][] auswählen, die Zeitkosten ist gleich, oder?

    z.B. a[n*n] oder a[n][n] scheiss egal, oder?

    🤡 😡 😕 😮 😞



  • Die Entscheidung, was du nimmst, triffst du anhand der Daten die du darin speichern willst. Willst du zweidimensionale Daten speichern, wirst du natürlich logischerweise ein 2-dimensionales Array erstellen.



  • ich habe eine Algorithmus gelesen, wenn man 1-dimensionale Datenstruktur statt 2-dimensionale auswählt,(a[n*n] statt a[n][n]) dann kann die Zeitkosten sparen, damals hatte ich mich erinnert, in C bei 1- oder 2-dimensionale ist egal, so habe ich meine Frage gestellt. 😕

    jetzt, wie kann ich diese Algorithmus verstehen? 😕

    vielen Dank



  • Welchen Algorithmus?

    Und ganz generell: Kannst Du bitte vor dem abschicken Dein Posting einfach nochmal durchlesen? Da ist kein einziger grader Satz drin. Daher ist es ziemlich schwierig zu verstehen, was Du genau wissen möchtest.



  • Wenn es dir auf englisch leichter fällt ist das auch kein Problem. Und wenn wir dich dann verstehen, wäre das sogar besser 😉


Anmelden zum Antworten