Я узнал, что все глобальные переменные будут инициализированы до '0'. В соответствии с этим, если мы объявляем нижнюю строку по всему миру,Статические глобальные указатели всегда инициализируются до NULL в C?
static char *pointer;
Указатель должен быть равен NULL. Но всегда ли это так? Потому что в моем текущем проекте я инициализировал такой указатель. Но когда я сравнивал указатель == NULL, он становится ложным, и ему уже присвоено значение. Это какой-то нежелательный адрес?
[да это будет] (http://stackoverflow.com/a/21964142/1708801) –
Да, он всегда инициализирован 0. Пожалуйста, покажите свой полный код, если вы хотите объяснить последнюю часть своего вопроса , Я вполне уверен, что в вашем коде будет ошибка или неправильная интерпретация результатов. – kaylum
по соглашению это будет, но это хорошая привычка устанавливать его в 0 или NULL по умолчанию, чтобы избежать путаницы, так как обычно забывать об этом и думать, что оно инициализировано каким-либо значением в этом адресе памяти и вызывает сомнения. – Dmitry