memcpy表示怀疑。需要澄清
我得到了一个memcpy函数,它的使用方式看起来很奇怪。我把它贴在下面。谁能帮我解释一下吗。我不知道为什么(void*)。缓冲区是struct BLK中的缓冲区。谢谢memcpy表示怀疑。需要澄清,c,memcpy,C,Memcpy,我得到了一个memcpy函数,它的使用方式看起来很奇怪。我把它贴在下面。谁能帮我解释一下吗。我不知道为什么(void*)。缓冲区是struct BLK中的缓冲区。谢谢 memcpy( (void *) (BLK->buffer + left), (void *) input, fill ); 假设input和BLK->buffer已
memcpy(
(void *) (BLK->buffer + left),
(void *) input,
fill
);
假设
input
和BLK->buffer
已经是指针类型(它们确实应该是指针类型),则不需要强制转换
我能想到它们出现的两个原因:
- 作者是偏执狂
- 作者明确表示,他/她理解特定指针类型将进入“通用”函数
指向函数的指针是另一回事。如果它们不是指针,那么几乎肯定是做错了什么。在这种情况下,演员会隐藏问题。额外的子弹:作者被C++、微软和/或Health-SHILLDT混淆。或者作者如此健忘,以至于他没有意识到他在C++编译器上编译了C++代码。这是C++无用的另一个方向。
void *memcpy(void *dest, const void *src, size_t n);