中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言memset函數使用方法詳解

發布時間:2020-09-03 19:37:10 來源:腳本之家 閱讀:212 作者:趙子蒼 欄目:編程語言

C語言memset函數使用方法詳解

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

二。函數作用  將以s內存地址為首的連續n個字節的內容置成ch,一般用來對大量結構體和數組進行清零

三。常見錯誤

1.搞反了 ch 和 n的位置

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

2.過度使用memset

3.其實這個錯誤嚴格來講不能算用錯memset,但是它經常在使用memset的場合出現

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

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

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

4.想對數組初始化為1

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

這種方法不能初始化為1。原因是memset函數是按照字節賦值的,int 是4個字節所以為0x01010101,就是十進制的16843009。 

如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

白城市| 象州县| 彝良县| 光泽县| 天台县| 凉山| 宜黄县| 靖宇县| 东方市| 通州区| 桂平市| 邯郸市| 吉水县| 大方县| 景德镇市| 青铜峡市| 敦化市| 谷城县| 库尔勒市| 尚志市| 明水县| 厦门市| 巴南区| 宣汉县| 呈贡县| 安宁市| 洛扎县| 新邵县| 郑州市| 五大连池市| 瓦房店市| 彭泽县| 和硕县| 蒙山县| 桐乡市| 海伦市| 镶黄旗| 万盛区| 洮南市| 新津县| 根河市|