Por que os excessos de buffer causariam falhas de segmentação ao acessar um número inteiro?

Durante uma chamada para a função B () da função A (), B () aloca uma matriz de 100 caracteres e a preenche várias vezes, incluindo uma vez com uma cadeia de 101 caracteres e outra com uma cadeia de 110 caracteres. Este é um erro óbvio.

Posteriormente, a função A () tenta acessar a variável int completamente não relacionada i, e ocorre uma falha de segmentação.

Eu entendo porque a saturação de buffer ocorre, mas por que eu recebo uma falha de segmentação quando eu acesso esse inteiro? Por que não recebo simplesmente dados de lixo?

questionAnswers(5)

yourAnswerToTheQuestion