Почему переполнение буфера вызывает ошибки сегментации при доступе к целому числу?

Во время вызова функции B () из функции A (), B () выделяет массив из 100 символов и заполняет его несколько раз, в том числе один раз строкой из 101 символа и один раз строкой из 110 символов. Это очевидная ошибка.

Позже, функция A () пытается получить доступ к совершенно не связанной переменной int i, и возникает ошибка сегментации.

Я понимаю, почему происходит переполнение буфера, но почему я получаю ошибку сегментации, когда я получаю доступ к этому целому числу? Почему я непросто получить данные мусора?

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

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