国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言memset函數(shù)使用方法詳解

2020-02-24 14:30:46
字體:
供稿:網(wǎng)友

每種變量都有自己的初始化方法,memset()函數(shù)可以稱為“通用函數(shù)”來初始化內(nèi)存,通常用于新的應(yīng)用程序的內(nèi)存初始化工作,武林技術(shù)今天為大家?guī)?a target="_blank">C語言memset函數(shù)使用方法詳解,希望能幫到您!

C語言memset函數(shù)使用方法詳解

一。函數(shù)原形?? void *? memset(void*s, int ch,size_t n)

二。函數(shù)作用? 將以s內(nèi)存地址為首的連續(xù)n個字節(jié)的內(nèi)容置成ch,一般用來對大量結(jié)構(gòu)體和數(shù)組進(jìn)行清零

三。常見錯誤

1.搞反了 ch 和 n的位置

對char[20]清零,一定是 memset(a,0,20);

2.過度使用memset

3.其實這個錯誤嚴(yán)格來講不能算用錯memset,但是它經(jīng)常在使用memset的場合出現(xiàn)

int fun(strucy something * a) { ..... memset(a,0,sizeof(a)); ..... } 

這里錯誤的原因是VC函數(shù)傳參過程中的指針降級,導(dǎo)致sizeof(a),返回的是一個 something*指針類型大小的的字節(jié)數(shù),如果是32位,就是4字節(jié)。經(jīng)常使用這種形式

memset(a,0,n*sizeof(type));

4.想對數(shù)組初始化為1

int main() {    int a[20];    memset(a,1,20); }

這種方法不能初始化為1。原因是memset函數(shù)是按照字節(jié)賦值的,int 是4個字節(jié)所以為0x01010101,就是十進(jìn)制的16843009。?

感謝大家閱讀完本篇內(nèi)容,武林技術(shù)小編為大家整理的知識還算有用嗎?關(guān)注我們,將會給你更多的驚喜喲。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 仪征市| 玉门市| 东光县| 大关县| 博客| 武川县| 克什克腾旗| 刚察县| 南部县| 温宿县| 剑川县| 文安县| 丘北县| 五台县| 合阳县| 湘乡市| 东阳市| 和田市| 炎陵县| 吉林市| 大关县| 西青区| 武威市| 信阳市| 衡水市| 隆德县| 钟祥市| 林周县| 临潭县| 文安县| 南宫市| 晋城| 徐水县| 故城县| 西畴县| 岱山县| 高雄县| 荔浦县| 西乡县| 南部县| 买车|