1.定義
memcpy指的是c和c++使用的內(nèi)存拷貝函數(shù),memcpy函數(shù)的功能是從
源src所指的內(nèi)存地址的起始位置開(kāi)始拷貝n個(gè)字節(jié)到目標(biāo)dest所指的內(nèi)存地址的起始位置中。
2.函數(shù)原型
void *memcpy(void *dest, const void *src, size_t n);
3.功能
從源src所指的內(nèi)存地址的起始位置開(kāi)始拷貝n個(gè)字節(jié)到目標(biāo)dest所指的內(nèi)存地址的起始位置中
4.返回值
函數(shù)返回指向dest的指針。
5.說(shuō)明
- 1.source和destin所指的內(nèi)存區(qū)域可能重疊,但是如果source和destin所指的內(nèi)存區(qū)域重疊,那么這個(gè)函數(shù)并不能夠確保source所在重疊區(qū)域在拷貝之前不被覆蓋。而使用memmove可以用來(lái)處理重疊區(qū)域。函數(shù)返回指向destin的指針.
- 2.如果目標(biāo)數(shù)組destin本身已有數(shù)據(jù),執(zhí)行memcpy()后,將覆蓋原有數(shù)據(jù)(最多覆蓋n)。如果要追加數(shù)據(jù),則每次執(zhí)行memcpy后,要將目標(biāo)數(shù)組地址增加到你要追加數(shù)據(jù)的地址。
注意:source和destin都不一定是數(shù)組,任意的可讀寫的空間均可。