последний параметр без знака.поэтому, выполнив -100 * sizeof (источник), вы получите огромное число (которое будет округлено, т. е. переполнено).
Это эквивалентно выполнению "4 294 967 196 * sizeof (источник)".
Редактировать: На самом деле это неправильно, я только что понял.Он будет делать -100 * sizeof (source) и затем конвертировать его в неподписанный.Например, если sizeof (source) равен 4, он преобразует -400 в unsigned и даст вам 0xFFFFFE70 (4,294,966,896).