Объяснить функционирование memset(arr, 10, n*sizeof(arr[0]))?

Я называю эту функцию:

memset(arr, 10, n*sizeof(arr[0]))

У меня есть этот вывод:

168430090 168430090 168430090 168430090 168430090 168430090 168430090 168430090 168430090 168430090

Зачем?

1 ответ

memset заполняет память 8-битными значениями, но элементы вашего массива являются 32-битными значениями. 10 в шестнадцатеричном виде 0A поэтому каждое значение в вашем массиве становится 0x0A0A0A0A который при преобразовании в десятичный 168430090,

Другие вопросы по тегам