真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

模擬實(shí)現(xiàn)memmove函數(shù)

完成這道題目之前首先要明確memmove是對(duì)內(nèi)存進(jìn)行操作,所以函數(shù)的參數(shù)是void *,即可以操作任意類型的數(shù)據(jù)。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供桓仁網(wǎng)站建設(shè)、桓仁做網(wǎng)站、桓仁網(wǎng)站設(shè)計(jì)、桓仁網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、桓仁企業(yè)網(wǎng)站模板建站服務(wù),10多年桓仁做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。

其次要明白兩個(gè)待處理數(shù)據(jù)的關(guān)系,于是我畫了一張圖幫助大家理解
模擬實(shí)現(xiàn)memmove函數(shù)
上面的是特殊情況,發(fā)生內(nèi)存重疊時(shí)只有這種情況是需要從右向左進(jìn)行操作的,如果這種情況還是按照從左往右操作的話就會(huì)把想要拷貝的東西一直重復(fù)的拷貝下去,除這種情況之外都只需從左往右拷貝

再然后就是如何實(shí)現(xiàn)代碼的過程了,其方法和之前說過的拷貝函數(shù)類似,進(jìn)行值的交換,在這里就不詳細(xì)贅述了。

#define _CRT_SECURE_NO_WARNINGS 1
#include
#include
void my_memmove(void dst,const void src, int num)
{
void
ret = dst;
if (dst > src&&(char )dst <((char ) src + num))//dst包含于src的情況,從后往前進(jìn)行操作
{
dst = (char )dst + num - 1;//將dst指向最后一個(gè)元素
src = (char
)src + num - 1;
while (num--)
{
(char)dst = (char)src;
dst=(char )dst-1;
src=(char
)src-1;
}
}
else
{
while (num--)
{
(char)dst = (char)src;
dst = (char )dst + 1;
src = (char
)src + 1;
}
}
return (ret);
}
int main()
{
char dst[100] = "hello world";

my_memmove(dst + 1, dst, strlen(dst) + 1);
printf("%s",dst);
system("pause");
return 0;

}


網(wǎng)站標(biāo)題:模擬實(shí)現(xiàn)memmove函數(shù)
文章分享:http://weahome.cn/article/ipsgii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部