記憶體操作函式memcpy memmove

2021-08-11 08:24:34 字數 960 閱讀 5646

1.模擬實現memcpy

函式memcpy與型別無關,按位元組進行拷貝

•函式memcpy從src的位置開始向後複製num個位元組的資料到dest的記憶體位置

•這個函式在遇到』\0』的時候並不會停下來

•如果src和dest有任何的重疊,複製的結果都是未定義的

以下是模擬實現memcpy函式:

#include 

#include

#include

void *my_memcpy(void *dest,const

void *src, int count)

return dest;

}int main()

結果如下:

2.模擬實現memmove

•和memcpy的差別就是memmove函式處理的源記憶體塊和目標記憶體塊是可以重疊的

•如果源空間和目標空間出現重疊,就得使用memmove函式處理

以下是模擬實現memmove函式:

#include 

#include

#include

#include

void *my_memmove(void *dest,const

void *src, int size)

}//從左往右拷貝

else

}return dest;

}int main()

結果如下:

記憶體操作函式

calloc 配置記憶體空間 相關函式 malloc,free,realloc,brk 表頭檔案 include 定義函式 void calloc size t nmemb,size t size 函式說明 calloc 用來配置nmemb個相鄰的記憶體單位,每一單位的大小為size,並返回指向第乙...

記憶體操作函式

記憶體操作函式 1 memset 主要用於清0 include void memset void s,int c,size t n 功能 將s的記憶體區域的前n個位元組以引數c填入 引數 c 填充的字元,c雖然引數為int,但必須是unsigned char 範圍為0 255 n 指定需要設定的大小...

字串部分函式的重寫和memcpy memmov

這裡面的字串有些是沒有進行是否為空的判斷,自行參考一下。assert 斷言是預告版內容,比較草率,沒有詳解 這個函式是乙個複製的作用。在實際運用中應該就是需要需要修改某乙個字串,但是又要保留原有資料,這就需要把它複製到另乙個字串裡面。c語言 模擬實現strcpy strcpy的格式是 strcpy ...