天天看點

【19】實作strcpy和memcpy函數

一. strcpy函數

1. strcpy的原型是char* strcpy(char *des, const char *src); 傳回des指針。

    作用是把src指針指向的字元串複制到des指針指向的字元串中。

2. des所指向的記憶體空間要足夠大保證能夠容納src所指的字元串,strcpy函數碰到第一個\0字元的時候結束複制

3. strcpy函數的實作,考慮記憶體重疊

二. memcpy函數

1. memcpy是C語言中的記憶體複制函數,它的函數原型是 void* memcpy(void *des, const void *src, size_t count),傳回des指針變量。

    作用是把src指向的記憶體位址空間中的count個位元組複制到des指向的記憶體空間。

2. des和src所指向的記憶體空間是不能重疊的,memcpy可以複制任何資料類型,并且必須複制count個位元組。

3. memcpy函數的實作,考慮記憶體重疊

三. strcpy和memcpy的差別

1. strcpy是用來複制字元串的,memcpy是用來複制一段記憶體的

2. strcpy複制字元串的時候遇到\0就結束,memcpy必須複制指定大小的記憶體才結束

繼續閱讀