memset函数源码实现
void * memset(void *dst, int val, size_t count)
将dst所指向的某一块内存中的前count个 字节的内容全部设置为val指定的ASCII值, 第一个值为指定的内存地址,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作, 其返回值为指向s的指针。
简单来说就是把dst所指内存区域的前count个字节设置为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时两个变量类型要相同,需要用到强制类型转换assert(dst); //这里需要检验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;
}
转载于:https://blog.51cto.com/iynu17/1715558
memset函数源码实现相关推荐
- OpenCV resize函数源码解析——加速方法
相信大家应该经常会用到OpenCV中的函数resize(),当我们想放大或者缩小图像的时候,会用到这个函数进行图像缩放,其中最核心的便是对图像的像素进行插值处理. 这里的插值interpolation ...
- LMDIF_函数源码
函数源码: /* lmdif.f -- translated by f2c (version 20020621).You must link the resulting object file wit ...
- 【Linux 内核】实时调度类 ⑦ ( 实时调度类核心函数源码分析 | dequeue_task_rt 函数 | 从执行队列中移除进程 )
文章目录 一.dequeue_task_rt 函数 ( 从执行队列中移除进程 ) 二.update_curr_rt 函数 ( 更新调度信息 ) 本篇博客中 , 开始分析 struct sched_cl ...
- 【Linux 内核】实时调度类 ⑥ ( 实时调度类核心函数源码分析 | 插入进程到执行队列 | 从执行队列中选择优先级最高的进程 )
文章目录 一.enqueue_task_rt 函数 ( 插入进程到执行队列 ) 二.pick_next_task_rt 函数 ( 从执行队列中选择优先级最高的进程 ) 本篇博客中 , 开始分析 str ...
- 【Android 逆向】ART 脱壳 ( dex2oat 脱壳 | aosp 中搜索 dex2oat 源码 | dex2oat.cc#main 主函数源码 )
文章目录 前言 一.搜索 dex2oat 源码 二.dex2oat.cc#main 主函数源码 前言 在 [Android 逆向]ART 脱壳 ( DexClassLoader 脱壳 | exec_u ...
- PHP 源码 —— is_array 函数源码分析
is_array 函数源码分析 本文首发于 https://github.com/suhanyujie/learn-computer/blob/master/src/function/array/is ...
- python内置函数源码_如何查看python内置函数源码
在用Python进行各种分析的时候,我们会用到各种各样的函数,比如,我们用SQL时,经常使用join.max等各种函数,那么想看Python是否有这个函数,这个时候可能大部分人会百度,那么如何不使用百 ...
- [OpenGL] 视图矩阵(View)矩阵与glm::lookAt函数源码解析
一.视图矩阵(View)矩阵 首先明确视图矩阵的作用:在OpenGL的众多坐标系中,存在一个世界坐标系和一个摄像机坐标系,视图矩阵的作用就是将世界坐标系内的坐标转换成摄像机坐标系内的坐标. 如图,空间 ...
- 【Linux 内核 内存管理】物理分配页 ⑨ ( __alloc_pages_slowpath 慢速路径调用函数源码分析 | retry 标号代码分析 )
文章目录 一.retry 标号代码分析 二.retry 标号完整代码 在 [Linux 内核 内存管理]物理分配页 ② ( __alloc_pages_nodemask 函数参数分析 | __allo ...
最新文章
- oracle 存储过程 状态,查看ORACLE中正在运行的存储过程 | 学步园
- Java多线程干货系列—(一)Java多线程基础
- 怎么防爬虫爬取信息_scrapy爬取51job职位信息(针对新的反爬虫机制)!
- SQL Server on Ubuntu——Ubuntu上的SQL Server(全截图)
- 缩影和掠影_普查员的“酸苦甜” 社区人口普查工作掠影
- sql where in 排序问题
- vmware 搭建k8s无法ping通子节点_一波四折 —— 记一次K8S集群应用故障排查
- 求生之路2正版服务器ip,求生之路2怎么看ip地址
- 日常视频一秒变游戏,人物可以随意操控:全靠Facebook的实时算法
- python---Unicode编码问题
- focal loss dice loss源码_扒源码:sharding loss in Pytorch
- jquery html dom方式创建新html元素
- 寒武纪2021数字后端笔试题
- Mocha.js官方文档翻译 —— 简单、灵活、有趣
- Git使用:在Git pull时遇到的Error及解决方法
- LLVM WEEKLY系列停止转载
- JeecgBoot 2.4.6 版本发布,基于代码生成器的企业级低代码平台
- python工程师面试准备资料
- 李云大连理工计算机系2015级,大连理工大学考研研究生导师简介-李秀英
- webpack4 教程 转载自陈三博客
热门文章
- 我看过且非常喜欢的《电影》和书
- python实验指导书2018_python实验指导书
- python dash库_让你事半功倍的小众 Python 库
- 连接控制台_智能消防水炮视频系统连接方法
- 怎么把原来的墙拆掉_电视墙避坑指南要收好!拆掉重装太心累...
- mysql能安装的版本下载失败_mysql 安装失败 每次都安装失败 每个版本都失败
- arduino下载库出错_arduino的I2C通讯 3:驱动1602液晶屏
- koa mysql 存储过程_Sql中判断数据库、表、临时表、存储过程和列是否存在...
- python 新建文件 hdfs_大数据学习(六):Python操作hdfs(包括追加数据文件到hdfs文件)...
- Ansible之playbook(剧本)介绍和配置详解