【C / C++ 】memset函数
目錄
- memset函數(shù)介紹
- 用法案例
memset函數(shù)介紹
概念:
memset是計(jì)算機(jī)中C/C++語言初始化函數(shù)。作用是將某一塊內(nèi)存中的內(nèi)容全部設(shè)置為指定的值,
這個(gè)函數(shù)通常為新申請的內(nèi)存做初始化工作。
即:
作用是在一段內(nèi)存塊中填充某個(gè)給定的值,它是對較大的結(jié)構(gòu)體或數(shù)組進(jìn)行清零操作的一種最快方法。
需要的頭文件: <string.h>
函數(shù)原型: void *memset(void *s, int ch, size_t n);
函數(shù)解釋: 將s中當(dāng)前位置后面的n個(gè)字節(jié) (typedef unsigned int size_t )用 ch 替換并返回 s 。
語法格式: memset(數(shù)組名 , 值 , sizeof(數(shù)組名) );
注意: memset函數(shù)按字節(jié)對內(nèi)存塊進(jìn)行初始化,所以不能用它將int數(shù)組初始化為0和-1之外的其他值。
這是因?yàn)閙emset使用的是按字節(jié)賦值,即對每個(gè)字節(jié)賦同樣的值,這樣組成int型的4個(gè)字節(jié)就會(huì)被賦成相同的值。
而由于0的二進(jìn)制補(bǔ)碼全為0,-1的二進(jìn)制補(bǔ)碼全為1,不容易弄錯(cuò)。
用法案例
當(dāng)我們給其賦值其他的數(shù)據(jù)時(shí),你會(huì)發(fā)現(xiàn)會(huì)出現(xiàn)錯(cuò)誤。
如下圖所示:
總結(jié)
以上是生活随笔為你收集整理的【C / C++ 】memset函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【C / C++】关于数组太大在编译器不
- 下一篇: 轻松搞懂sscanf和sprintf