Zeiger adresse ändert nicht
-
Hallo zusammen, ich kann die zeiger adresse nicht ändern und kommt kein ergebniss, ich brauche Hilfe
ergebnis ist: |�
#include <stdio.h> char *str = "hallo"; void f(char *ptr) { ptr = str; } int main() { char *s; f(s); printf("%s\n", s); return 0; }
-
Du veraenderst nur eine Kopie des Zeigers. Damit du den Zeiger veraendern kannst brauchst du einen Zeiger auf einen Zeiger:
void f(char **ptr) { *ptr = str; }
*Edit
Der Aufruf von f lautet dannf(&s);
-
vielen Dank icarus2, das Problem wurde gelöst