memset與memcpy的用法

2021-08-02 04:23:05 字數 704 閱讀 4906

最近程式設計過程中,一直遇到mencpy和menset,於是將其用法做個總結,方便後續查閱。

memcpy:

函式原型:extern void *memcpy(void *dest, void *src, unsigned int count);

標頭檔案:#include

功能:由src所指記憶體區域複製count個位元組到dest所指記憶體區域。

說明:src和dest所指記憶體區域不能重疊,函式返回指向dest的指標。可以拿它拷貝任何資料型別的物件。

eg:  char a[100],b[50]; 

memcpy(b, a, sizeof(b));     //注意如用sizeof(a),會造成b的記憶體位址溢位。

memset:

函式原型:extern void *memset(void *buffer, int c, int count);

標頭檔案:#include

功能:把buffer所指記憶體區域的前count個位元組(buffer指標後的前count個位元組)設定成字元c。

說明:返回指向buffer的指標。用來對一段記憶體空間全部設定為某個字元。

eg:char a[100];

memset(a, '\0', sizeof(a));

ps:一般可以用memset可以方便的清空乙個結構型別的變數或陣列。

memset 函式與memcpy 函式

memset memset是c庫函式void memset void s,int ch,size t n 函式解釋 將s中當前位置後面的n個位元組用ch替換並返回s。作用 在一段記憶體塊中填充某個給定的值,它是對較大的結構體或陣列進行清零操作的一種最快的方法。note 盡量用memset將乙個陣列設...

memcpy與memset函式的使用方法

這個主要用於我個人的學習筆記,便於以後查詢,順便分享給大家。想必在用c的時候難免會與陣列,指標,記憶體這幾樣東西打交道,先以陣列為例,例如有乙個陣列int a 5 我們要將陣列a裡面的資料複製到陣列b中,一般剛剛接觸c語言的我們會怎麼做?我們一般會想到用迴圈來做吧 int i int a 5 b 5...

strcpy與memcpy的區別。

strcpy與memcpy的區別。考點 字串複製與記憶體複製之間的區別。出現頻率 解析strcpy和memcpy主要有以下3方面的區別。複製的內容不同。strcpy只能複製字串,而memcpy可以複製任意內容,例如字元陣列 整型 結構體 類等。複製的方法不同。strcpy不需要指定長度,它遇到字串結...