可以在C中没有任何指针算法的情况下实现mem copy吗?

时间:2013-10-08 04:54:12

标签: c pointers memcpy

my_memcpy的实现(基于大小从源到目标的内存复制)使用了大量的指针算法,这是一种非常常见的实现方法。

问题:根据某些标准,我的代码不应该使用指针算法,但可以使用数组。

有没有办法在不使用任何指针算法的情况下实现该功能?

我希望在不使用指针的情况下实现以下逻辑:

while (u32_length >= SIZE)
{
    *u32p_dst = *u32p_src;  
     u32p_dst++;
     u32p_src++;
     u32_length -= SIZE;            
}
....
....    

2 个答案:

答案 0 :(得分:2)

以下内容,

unsigned i = 0;
while(u32_length >= SIZE){
   u32p_dst[i] = u32p_src[i];
   ++ i; 
   u32_length -= SIZE;
}

答案 1 :(得分:0)

实际上你可以在这里处理指针和数组元素

提高性能,通常使用指针更快(但在大多数情况下这不是瓶颈)