编写一个自己的完全C语言版本的memset函数,并且评价这个实现的性能和可移植性。
编写一个自己的完全C语言版本的memset函数,并且评价这个实现的性能和可移植性。
memset这个函数的作用大致可以理解为将从指针指向的地址开始的指定字节长度的空间全部替换为指定的值。那么我们可以很轻松的用C来自己实现这个函数:
void *memset(void *position,void value,unsigned int count){void *head=position;while(count--){*(char *)position=(char)value;position=(char *)position+1;}return head;}
在这个函数中,没有调用任何别的函数,完全靠C最基本的语句实现的,所以移植性应该很好,另外,在为memory的一个字节空间的set上,可以看到,除了while的递减外,只用到了两句话,可以说没法再精简了,所以性能应该说很好。
编写一个自己的完全C语言版本的memset函数,并且评价这个实现的性能和可移植性。相关推荐
- 利用c语言编写一个时钟计时器(c语言基础练习)
时间对于每个人都是宝贵的.人类从古至今都在发展计时设备和改善计时方法.远古时期,人类根据太阳和月亮的位置来判断时间.根据影子的方向长短来区分早晨.中午和黄昏.古代人也发明了很多计时的方法,日晷.沙漏. ...
- 编写一个分奇偶的c语言程序,程序设计入门——C语言 第3周编程练习 1 奇偶个数(5分)...
1 题目内容: 你的程序要读入一系列正整数数据,输入-1表示输入结束,-1本身不是输入的数据.程序输出读到的数据中的奇数和偶数的个数. 输入格式: 一系列正整数,整数的范围是(0,100000).如果 ...
- c++ memset 语言_C++中memset函数用法详解
本文实例讲述了C++中memset函数用法.分享给大家供大家参考,具体如下: 功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,块的大小由第三个参数指定,这个函数通常 ...
- C语言C++中memset()函数使用和注意事项
memset()函数原型 void * memset (void * ptr, int value, size_t num); memset()功能和参数 用value填充ptr指针指向的内存块开始的 ...
- 用c语言编写一个2048 游戏,求c语言编写的2048游戏代码,尽量功能完善一些
正在编写中,请稍后! 追答 : 代码来了!有点急,没做界面. 追答 : 2048_launcher.c : #include #include #include void main() { print ...
- 使用C#编写一个计时器-.NET教程,C#语言
大家好!好久没有上来了!小生在此向各方豪杰问好! 今天温习了一下c#,解决了老大一个难题,以前总是搞不懂重载运算符,也不知道它有什么用处, 今天总算把它给用上了,真有种在深山老林里用上电得感觉,呵呵! ...
- 判断可逆素数的c语言程序,用c语言编写一个判断某数是否为可逆素数的函数。...
满意答案 kldnf 2013.04.20 采纳率:42% 等级:12 已帮助:4249人 #include // 可逆素数就是该数及其反数均为素数 int IsPrime(int i); in ...
- java 操作系统 模拟 daima_编写一个程序,利用Java语言模拟操作系统进程调度管理...
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 import java.util.PriorityQueue; public class Process implements Comparable { ...
- 编写一个不创建临时变量求字符串长度的函数
#include<stdio.h> #define N 20 int Strlen(const char* str) {if (*str != '\0')return 1 + Strlen ...
最新文章
- [Reomting Debug] 巧用VS 的remote debug 功能远程调试程序 经验分享.
- 纪中B组模拟赛总结(2020.2.22)
- Linux Socket学习--为套接口绑定地址
- 固态硬盘玩游戏有必要吗
- 省级刊物发表有什么要求?需注意什么事项?
- linux下vim的安装与配置(centos)
- 教你轻松解决苹果Mac安装Axure首次打开报错的问题
- 掌握Iometer的安装和使用
- 你会如何选型电容?关于电容的ESR?如何理解电容的阻抗-频率曲线?
- android实现手机号验证码注册
- 关于Msocache文件夹
- true在java_使用truelicense实现用于JAVA工程license机制
- 分式怎么开根号_怎么打出根号二(教你如何写出√2的连分式)
- CentOS7下安装Apache WebDAV教程
- Ubuntu18.04通过apt安装libssl1.1因依赖问题导致失败的解决办法
- linux重启命令有哪些,​ linux中常用的关机/重启命令有哪些
- 数学英语不好可以学计算机么,学计算机一定要学好数学和英语吗?
- 集成运算放大器中的电流源
- 计算机云共享盘,计算机文件共享
- VIBE君,放过MOTO吧