Путаница в том, что неинициализированный указатель указывает куда угодно

#include <stdio.h>

int main(void)
{
    int *ptr;
    printf("%p", ptr); // Error: uninitialized local variable 'ptr' used
                       // Output is "0"
}

я читаюC-FAQ о нулевом указателе. И это говорит о том, что неинициализированный указатель может указывать куда угодно. Означает ли это, что это указывает на случайное расположение в памяти? Кроме того, если это утверждение верно, почему возникает ошибка, если я пытаюсьprintf("%p",ptr)? Так как неинициализированный указательptr указывает на какое-то случайное место, кажется, что оно должно распечатать это случайное место!

Ответы на вопрос(1)

Ваш ответ на вопрос