91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

开鲁县| 牡丹江市| 芜湖市| 莱州市| 哈密市| 芦山县| 定日县| 南汇区| 土默特右旗| 赣榆县| 绥棱县| 镇安县| 吴江市| 咸丰县| 嘉义市| 凤城市| 广东省| 绵竹市| 秦安县| 杭锦后旗| 宁阳县| 泰安市| 越西县| 罗江县| 伊宁县| 丹棱县| 揭阳市| 休宁县| 涟水县| 容城县| 云安县| 泰来县| 哈巴河县| 酒泉市| 祁门县| 平山县| 屯留县| 仁布县| 海宁市| 香格里拉县| 修水县|