關於memcmpy和memmove的問題

2021-08-17 17:05:58 字數 548 閱讀 3755

兩個函式都是拷貝的函式,但是區別是如果目標位址和源位址有重疊的時候,memcpy函式機會出錯了

下面來看下memcpy函式原形:

void *memcpy(void *desc,const void * src,size_t size)

unsigned char *desc1 = (unsigned char*)desc;

unsigned char *src1 = (unsigned char*)src;

while(size-- >0)

return desc;

}

接下來看下memmove的函式原形:

void *memmove(void *dest, const void *src, size_t count)  

} else /*反向拷貝*/

} return dest;

}

memmove中有乙個判斷,如果目標位址比源位址小或者大於源位址加上要拷貝的字元長度的時候是正向拷貝,反之逆向拷貝

關於業務和IT

偶爾翻開 程式設計師 雜誌2007年6月刊,看到一些關於soa與業務敏捷的文章,提醒我,我們的軟體設計忽略了一些很重要的東西。我們在anydata的設計過程中,實現了對資料表現方式的靈活應變,在某種程度上實現了流程上的應變,但是很多東西都是由專業的it人員對系統進行調整實現的,因此如果客戶的業務出現...

類和物件 關於繼承 關於介面

一 類和物件 物件將資料和操作打包在一起,類描述一切 用構造器建立物件 類和類之間的關係 關聯 組合,聚集 泛化二 關於繼承 祖先類object 方法重寫 tostring方法 equals方法 is a 是乙個 繼承關係 has a 有乙個 組合關係 三 關於介面 定義了一組功能 comparab...

關於BSP,BIOS,和bootloader區別

bsp是板級支援包,是介於主機板硬體和作業系統之間的一層,應該說是屬於作業系統的一部分,主要目的是為了支援作業系統,使之能夠更好的執行於硬體主機板。bsp是相對於作業系統而言的,不同的作業系統對應於不同定義形式的bsp,例如vxworks的bsp和linux的bsp相對於某一cpu來說儘管實現的功能...