函數(shù)名稱: memset
函數(shù)原型: void *memset(void *s, int ch, size_t n);
函數(shù)功能: 在一段內(nèi)存塊中填充某個(gè)給定的值,是對較大的結(jié)構(gòu)體或數(shù)組進(jìn)行清零操作的最快方法曙痘。
函數(shù)返回: void
參數(shù)說明: void *s — 待初始填充的內(nèi)存首地址
int ch — 待填充的ASCII碼
size_t n — 待初始化填充的字節(jié)個(gè)數(shù)
補(bǔ)充:不要對結(jié)構(gòu)體使用memset賦非0以外的值唐责,這很有可能會(huì)使得結(jié)構(gòu)體內(nèi)部的結(jié)構(gòu)被破壞。
函數(shù)名稱: memcpy
函數(shù)原型: void *memcpy(void *dest, const void *src,size_t n);
函數(shù)功能: 內(nèi)存區(qū)段拷貝;將src指向內(nèi)存地址的連續(xù)N個(gè)指針位置的內(nèi)容拷貝至dest指針指向的位置
函數(shù)返回: void
參數(shù)說明: dest — 目的內(nèi)存空間指針
src — 源內(nèi)存空間指針
n — 拷貝指針位置個(gè)數(shù)
補(bǔ)充:使用memcpy對一段內(nèi)存進(jìn)行替換的時(shí)候要保證前兩參數(shù)分別為目的地址和源地址或者指針
函數(shù)名稱: memmove
函數(shù)原型: void *memmove(void *dest, const void *src,size_t n);
函數(shù)功能: memmove用于從src拷貝n個(gè)單位長度到dest厕氨,如果目標(biāo)區(qū)域和源區(qū)域有重疊的話侠姑,memmove能夠保證源串在被覆蓋之前將重疊區(qū)域的字節(jié)拷貝到目標(biāo)區(qū)域中,但復(fù)制后src內(nèi)容會(huì)被更改弟翘。但是當(dāng)目標(biāo)區(qū)域與源區(qū)域沒有重疊則和memcpy函數(shù)功能相同
(在我個(gè)人使用的過程中并沒發(fā)現(xiàn)過這兩個(gè)函數(shù)的區(qū)別 - -||| )(快回去把虫腋,別丟人了,菜是原罪 )
函數(shù)返回: void
參數(shù)說明: dest — 目的內(nèi)存空間指針
src — 源內(nèi)存空間指針
n — 移動(dòng)指針位置個(gè)數(shù)
函數(shù)名稱: memcmp
函數(shù)原型: int memcmp (const void *S1, const void *S2, size_t size)
函數(shù)功能: 用于比較內(nèi)存數(shù)據(jù)S1與S2的前size個(gè)字符
函數(shù)返回: 從指針第一個(gè)字符開始比較稀余,如果S1悦冀,S2完全相同返回0,如果S1[i]大于S2[i]則跳出返回-1睛琳,如果S1[i]小于S2[i]則跳出返回1
參數(shù)說明: S1—待比較內(nèi)存數(shù)據(jù)1
S2—待比較內(nèi)存數(shù)據(jù)2
size—比較內(nèi)存數(shù)據(jù)個(gè)數(shù)
函數(shù)名稱:_memicmp
函數(shù)原型:int _memicmp (const void *S1, const void *S2, size_t size)
函數(shù)功能:用于比較內(nèi)存數(shù)據(jù)S1與S2的前size個(gè)字符盒蟆,如若相同,返回0
函數(shù)返回:如果S1师骗,S2相同返回0历等,不相同返回兩個(gè)字符串第一個(gè)出現(xiàn)不同地方的字符差值
if(s1[i]!=s2[i]!) return s1[i]-s2[i];
補(bǔ)充:_memicmp不區(qū)分字母大小寫,主要用于英文字符判斷