memset函数源码实现
生活随笔
收集整理的這篇文章主要介紹了
memset函数源码实现
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
void?*?memset(void?*dst,?int?val,?size_t?count)
將dst所指向的某一塊內(nèi)存中的前count個(gè)?字節(jié)的內(nèi)容全部設(shè)置為val指定的ASCII值, 第一個(gè)值為指定的內(nèi)存地址,塊的大小由第三個(gè)參數(shù)指定,這個(gè)函數(shù)通常為新申請(qǐng)的內(nèi)存做初始化工作, 其返回值為指向s的指針。
簡(jiǎn)單來(lái)說(shuō)就是把dst所指內(nèi)存區(qū)域的前count個(gè)字節(jié)設(shè)置為val。返回指向dst的指針。
#include<stdio.h> #include<stdlib.h> #include<assert.h>#define?N?5void?*?my_memset(void?*dst,?int?val,?size_t?count) {//把val傳給*dst時(shí)兩個(gè)變量類型要相同,需要用到強(qiáng)制類型轉(zhuǎn)換assert(dst);????????????????????//這里需要檢驗(yàn)dst的有效性char*?ret?=?(char*)dst;?????????while?(count--)????????????????{*ret++?=?(char)val;}return?dst; } int?main() {int?arr[N];int?i?;my_memset(arr,0,N*sizeof(int));for?(i?=?0;?i?<?N;?i++){printf("%d\n",?arr[i]);}system("pause");return?0; }轉(zhuǎn)載于:https://blog.51cto.com/iynu17/1715558
總結(jié)
以上是生活随笔為你收集整理的memset函数源码实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 实习小白::(转) Cocos2d-x
- 下一篇: 鼠标移动监听的注意事项