Setzen der Zeigerreferenz über eine Funktion
n C versuche ich, den Wert eines Zeigers zu setzen, indem ich ihn an eine Funktion sende, aber der Wert wird sich außerhalb der Funktion nicht ändern. Hier ist mein Code:
#include <stdio.h>
void foo(char* str) {
char* new_str = malloc(100);
memset(new_str, 0, 100);
strcpy(new_str, (char*)"new test");
str = new_str;
}
int main (int argc, char *argv[]) {
char* str = malloc(100);
memset(str, 0, 100);
strcpy(str, (char*)"test");
foo(str);
printf("str = %s\n", str);
}
Ich möchte ausdrucken:
str = new test
Aber dieser Code wird ausgedruckt:
str = test
Jede Hilfe wird geschätzt. Danke im Voraus