pointer auf struc malloc



  • Hi,
    ich habe eine Frage, wie ich mit dem Pointer von allokiertem Speicher umgehen kann.

    Dazu hab ich 5 Elemente meiner Struktur erzeugt.

    myStruct *o = malloc(sizeof(myStruct)*5);
    // auslesen
    	for (i=0 ; i<5; i++) { // dinger auslesen..
    		o++;
    		printf("num aus type %i\n", o->inhalt);
    
    	}
    

    Jetzt gebe ich deren Inhalt aus.

    Wenn ich das jetzt nochmals machen will, muesste ich den Pointer auf den Anfang setzen. Kann ich dazu vor der Schleife irgendwie die Anfangsadresse speichern?



  • myStruct *o = malloc(sizeof(myStruct)*5);
    // ...
    myStruct *p = o;
    // auslesen
    for (i=0 ; i<5; i++) { // dinger auslesen..
      printf("num aus type %i\n", p->inhalt);
       ++p;
    }
    free(o);
    

    Dir ist aber schon klar, dass dies reines C ist, oder? In C++ würde man so etwas ganz anders machen.



  • Jetzt läufts!
    Danke für die Hilfe Falcon!

    Ja, ich muss gerade für's Studium reines C lernen..Puhh..
    Ich verstehe worauf du hinaus willst..ich bin im falschen Themengebiet hier ist C++, C ist eine Etage drüber. 😃


Anmelden zum Antworten