日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

memset函数的使用

發(fā)布時間:2024/6/21 综合教程 48 生活家
生活随笔 收集整理的這篇文章主要介紹了 memset函数的使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

void *memset(void *s, int ch, size_t n);

說明:將s中前n個字節(jié) (typedef unsigned int size_t)用 ch 替換并返回 s

關(guān)于memset有幾個注意事項:

1.不能初始化為數(shù)值1:

如果程序的數(shù)組a是字符型的,字符型占據(jù)內(nèi)存大小是1Byte,而memset函數(shù)也是以字節(jié)為單位進行賦值的,所以輸出沒有問題。

而如果程序數(shù)組a是整型的,使用 memset還是按字節(jié)賦值,這樣賦值完以后就等于16843009,就完成了對一個INT元素的賦值了。

所以用memset對非字符型數(shù)組賦初值是不可取的!

memset是以字節(jié)為單位就是對array指向的內(nèi)存的4個字節(jié)進行賦值,每個都用ASCⅡ為1的字符去填充,轉(zhuǎn)為二進制后,1就是00000001,占一個字節(jié)。一個INT元素是4字節(jié),合一起就是
00000001000000010000000100000001即16843009。

2.最后一個參數(shù)經(jīng)常使用sizeof:

不同的機器上int的大小也可能不同,所以最好用sizeof()

3.對于結(jié)構(gòu)體初始化:

例如有一個結(jié)構(gòu)體Some x,可以這樣清零:
memset(&x,0,sizeof(Some));
如果是一個結(jié)構(gòu)體的數(shù)組Some x[10],可以這樣:
memset(x,0,sizeof(Some)*10);

如果結(jié)構(gòu)體中有數(shù)組的話還是需要對數(shù)組單獨進行初始化處理的.

總結(jié)

以上是生活随笔為你收集整理的memset函数的使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。