Объяснить функционирование 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
,