亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言--memcpy和memmove

發布時間:2020-08-12 07:11:27 來源:網絡 閱讀:384 作者:伯爵213 欄目:編程語言

一、memcpy

  memcpy函數的功能是從源src所指的內存地址的起始位置開始拷貝n個字節到目標dest所指的內存地址的起始位置中。

void* my_memcpy(void* dest, const void *src, size_t n)
{
	assert(dest);
	assert(src);
	char* dest_t = (char*)dest;
	char* src_t =(char*) src;	
	while (n--)
	{
		*dest_t = *src_t;
		dest_t++;
		src_t++;
	}
	return dest;
}

二、memmove

   memmove用于從src拷貝n個字符到dest,如果目標區域和源區域有重疊的話,memmove能夠保證源串在被覆蓋之前將重疊區域的字節拷貝到目標區域中。但復制后src內容會被更改。但是當目標區域與源區域沒有重疊則和memcpy函數功能相同。

void* my_memmove(void* dest, const void*src, size_t n)
{
	assert(dest);
	assert(src);
	void *ret = dest;
	char* dest_t = (char*)dest;
	char* src_t = (char*)src;
	if (dest_t <= src_t || dest_t >= (src_t + n))
	{
		// 若dst和src區域沒有重疊,則從起始處開始逐一拷貝;
		while (n--)
		{
			*dest_t++ = *src_t++;
		}
	}
	else 
	{
		// 若dst和src 區域交叉,則從尾部開始向起始位置拷貝,可以避免數據沖突
		dest_t += n - 1;
		src_t += n - 1;
		while (n--)
		{
			*dest_t-- = *src_t--;
		}
	}
	return ret;
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

明星| 安远县| 修文县| 政和县| 四会市| 长乐市| 临汾市| 班玛县| 平和县| 天全县| 耿马| 金寨县| 乐昌市| 长葛市| 西乌珠穆沁旗| 海安县| 东源县| 都江堰市| 铜梁县| 沧源| 潜山县| 赣榆县| 云浮市| 凤阳县| 兰溪市| 苏尼特右旗| 红安县| 开化县| 鹤庆县| 广水市| 肃宁县| 双柏县| 商都县| 富民县| 武乡县| 宜都市| 通辽市| 枣庄市| 米易县| 宕昌县| 兴城市|