Какая польза от возвращаемого значения memset ()?
memset()
объявляется для возврата void*
это всегда то же самое значение, что и адрес, переданный в функцию.
какая польза от возвращаемого значения? Почему он не возвращается void
?
4 ответа:
подпись соответствует всем другим аналогичным функциям:
memcpy()
,strcpy()
etc. Я всегда думал, что это было сделано для того, чтобы можно было связывать вызовы таких функций и в противном случае использовать такие вызовы в выражениях.
я столкнулся с этим вопросом, когда гуглил, чтобы увидеть, что memset вернулся.
У меня есть некоторый код, где я тестирую для одного значения, то если это правда тест, чтобы увидеть, если значение нули.
потому что в C нет полностью переносимого способа проверить нули, я должен запустить memset в середине.
вот мой код:
if ( a==true && (memcmp(memset(zeros, 0, sizeof(zeros)), b, sizeof(zeros)) == 0) )
Это говорит о цели цепочки, перечисленных в предыдущих вопросах, но это пример использования для этого метод.
Я оставлю это другим, чтобы судить, является ли это хорошим кодированием или нет.