Verwirrung über die Tatsache, dass nicht initialisierter Zeiger auf irgendwo zeigt
#include <stdio.h>
int main(void)
{
int *ptr;
printf("%p", ptr); // Error: uninitialized local variable 'ptr' used
// Output is "0"
}
Ich lese C-FAQ about null pointer. Und es heißt, dass ein nicht initialisierter Zeiger auf eine beliebige Stelle zeigen könnte. Bedeutet das, dass es auf eine zufällige Position im Speicher verweist? Auch wenn diese Aussage wahr ist, warum tritt ein Fehler auf, wenn ich es mit @ versuchprintf("%p",ptr)
? Da nicht initialisiert Zeigerptr
zeigt auf einen zufälligen Ort, anscheinend muss dieser zufällige Ort ausgedruckt werden!