generelle frage zu pointern
-
Hi !
Ich hab da mal ne generelle frage zu pointern...In folgendem beispiel benutze ich einen pointer zum übergeben an eine funktion...
#include <cstdlib> #include <iostream> using namespace std; void pm1(char *out) { char test[64]={}; char *ptr = &test[0]; while(*out++!='W')*ptr++='A'; printf("%s\n",test); strcpy(out,test); } int main(int argc, char *argv[]) { char dummy; char array[64]={"Hallo Welt"}; printf("Ausgabe 1: %s\n",array); pm1(array); printf("Ausgabe 2: %s\n",array); printf("Press Enter...\n"); dummy=getchar(); return 0; }
Meine Frage ist jetzt:
Welche möglichkeiten gibt es jetzt den pointer *out wieder auf seine startadresse zu setzen ?
Klar, ich könnte mit out--; wieder zurück zählen....
Was für möglichkeiten hätte ich noch ?
Mfg McMorf
-
Du könntest dir z.B. die Adresse in einer anderen Variable speichern.
-
Danke!
Ich glaube das werde ich so machen, wirkt irgendwie wie das sinnigste...
Mfg McMorf
-
Das sinnigste ist, du änderst gleich in out.
Ohne test[64] und ohne strcpy.