Другая возможная причина заключается в том, что указателям во время соединения дается адрес, но косвенная адресация / снятие ссылок с указателя является обязанностью программиста. Обычно компилятору это безразлично, но бремя перекладывается на программиста для управления указателями и предотвращения утечек памяти.
Действительно, в двух словах, они инициализируются в том смысле, что во время соединения переменной указателя присваивается адрес. В приведенном выше примере кода это гарантированно приведет к сбою или генерации SIGSEGV.
Ради здравого смысла всегда инициализируйте указатели на NULL, таким образом, если любая попытка разыменовать его без malloc
или new
укажет программисту причину неправильного поведения программы.
Надеюсь, что это помогает и имеет смысл,
С наилучшими пожеланиями,
Том.