Dlaczego przekroczenia bufora powodują błędy segmentacji podczas uzyskiwania dostępu do liczby całkowitej?

Podczas wywołania funkcji B () z funkcji A (), B () przydziela tablicę 100-znakową i wypełnia ją kilka razy, w tym raz za pomocą ciągu 101 znaków i raz za pomocą ciągu 110 znaków. To oczywisty błąd.

Później funkcja A () próbuje uzyskać dostęp do całkowicie niepowiązanej zmiennej int i pojawia się błąd segmentacji.

Rozumiem, dlaczego występuje przepełnienie bufora, ale dlaczego otrzymuję błąd segmentacji, gdy uzyskuję dostęp do tej liczby całkowitej? Dlaczego nie otrzymuję po prostu śmieci?

questionAnswers(5)

yourAnswerToTheQuestion