moin,
hab folgendes problem: wenn ich mir den pointer auf ein int in einer funktion erstell und retuniere und anschließend in der aufrufenden funktion auf den value vom pointer lesend zugreife scheint sich dieser zu ändern.
Code
#include <stdio.h>
int *xyz() {
int *valPtr = NULL;
int value = 10;
valPtr = &value;
return valPtr;
}
int main() {
int *valPtr = xyz();
printf("val %d, %d, %d\n", *valPtr, *valPtr, *valPtr);
printf("val %d\n", *valPtr);
printf("val %d\n", *valPtr);
return 0;
}
Alles anzeigen
kompiliert mit "gcc -C90 -Wall -Wextra prog.c -o prog" gibt mir keine fehler oder warnings aus
und tut folgendes wenn ich es anstarte:
warum auf einmal 48?!