给出以下方法
void fillArray(void *arr, int const numElements, void *val, int size)
如何填充数组(*arr
) 的值为 (*val
)不知道数组是什么类型?numElements
是数组中元素的数量,大小是数组类型的字节大小。
您可以使用memcpy
为了那个原因。但是,为了前进内存位置,您必须将输入指针转换为char*
第一的。如果你有void*
,未定义指针算术运算。
void fillArray(void *arr, int const numElements, void *val, int size)
{
char* cp = arr;
int i = 0;
for ( ; i < numElements; ++i, cp += size )
{
memcpy(cp, val, size);
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)