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?