pointer array frage



  • int *test = new test;  //test ist pointer auf ein int
    *test = 3;             //initialisieren
    
    int *test = new test[5]; //test ist pointer auf ein array voller int´s
    *test[3] = 3;           //Geht nicht.. Warum nicht?
    test[3]  = 3;           // Warum muss man das so machen?
    
    int *test;              //test ist NULL
    *test = 3;
    delete test;            //Warum wird test nicht wieder NULL?
    


  • Wäre dankbar für Antworten.



  • *test[3] = 3;           //Geht nicht.. Warum nicht?
    test[3]  = 3;           // Warum muss man das so machen?
    

    du musst das so machen, weil der op[] schon dereferenziert.

    delete test;            //Warum wird test nicht wieder NULL?
    

    delete setzt den pointer nicht null, das ist nicht die aufgabe von delete



  • otze schrieb:

    *test[3] = 3;           //Geht nicht.. Warum nicht?
    test[3]  = 3;           // Warum muss man das so machen?
    

    du musst das so machen, weil der op[] schon dereferenziert.

    aso

    delete test;            //Warum wird test nicht wieder NULL?
    

    delete setzt den pointer nicht null, das ist nicht die aufgabe von delete

    joar stimmt. Schade nur das es in einigen Tutorials falsch erklärt wird.

    THX für die Antworten.


Anmelden zum Antworten