Переполнение или переполнение целочисленного типа в стандартном C, как правило, является безопасной операцией и не приведет к изменению памяти за пределами доступной переменной.В стандарте C бит переполнения отбрасывается, хотя реализация может хранить его в специальном регистре переполнения или в выделенной ячейке памяти.Например, в системах i386 переполнение сигнализируется в «флаге переноса».
Редактировать : Как указывает @aix, флаг переноса не обновляется каждой соответствующей инструкцией по сборке i386.,Это деталь реализации, конечно;язык C не дает двух сигналов о флагах переноса.
Edit 2 : И, как указывает Р., переполнение со знаком является неопределенным поведением, хотя каждая реализация, которую я видел, все еще обрабатываетэто безопасно.