我有一个 memcpy 函数,它的使用方式看起来很奇怪。我把它粘贴在下面。有人可以帮忙解释一下吗?不知道为什么会出现(void *)。 buffer是struct BLK中的缓冲区。谢谢。
memcpy(
(void *) (BLK->buffer + left),
(void *) input,
fill
);
最佳答案
假设 input
和 BLK->buffer
已经是指针类型(它们确实应该是),则无需进行强制转换。
我可以想到他们在那里的两个原因:
- 作者很偏执。
- 作者明确表示他/她理解特定的指针类型将进入“通用”函数。
关于c - memcpy 的疑问。需要澄清,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9583434/