memset函数使用详解
1.void *memset(void *s,int c,size_t n)
总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。2.例子
#include
void main(){
char *s="Golden Global View";
clrscr();
memset(s,'G',6);
printf("%s",s);
getchar();
return 0;
}
3.memset() 函数常用于内存空间初始化。如:
char str[100];
memset(str,0,100);
4.memset()的深刻内涵:用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’或‘/0’;例:char a[100];memset(a, '/0', sizeof(a));
memcpy用来做内存拷贝,你可以拿它拷贝任何数据类型的对象,可以指定拷贝的数据长度;例:char a[100],b[50]; memcpy(b, a, sizeof(b));注意如用sizeof(a),会造成b的内存地址溢出。
strcpy就只能拷贝字符串了,它遇到'/0'就结束拷贝;例:char a[100],b[50];strcpy(a,b);如用strcpy(b,a),要注意a中的字符串长度(第一个‘/0’之前)是否超过50位,如超过,则会造成b的内存地址溢出。
5.补充:一点心得
memset可以方便的清空一个结构类型的变量或数组。
如:
struct sample_struct
{
char csName[16];
int iSeq;
int iType;
};
对于变量
struct sample_strcut stTest;
一般情况下,清空stTest的方法:
stTest.csName[0]='/0';
stTest.iSeq=0;
stTest.iType=0;
用memset就非常方便:
memset(&stTest,0,sizeof(struct sample_struct));
如果是数组:
struct sample_struct TEST[10];
则
memset(TEST,0,sizeof(struct sample_struct)*10);
6.strcpy
原型:extern char *strcpy(char *dest,char *src);
用法:#i nclude
功能:把src所指由NULL结束的字符串复制到dest所指的数组中。
说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。
返回指向dest的指针。
memcpy
原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#i nclude
功能:由src所指内存区域复制count个字节到dest所指内存区域。
说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。
memset
原型:extern void *memset(void *buffer, int c, int count);
用法:#i nclude
功能:把buffer所指内存区域的前count个字节设置成字符c。
说明:返回指向buffer的指针。
相关文章:
节后招人平均工资9000上热搜,为什么有些人去哪里都值钱?
我”荒“了。这是很多中国AI企业的现状。《人民日报》报道称,我国AI的人才缺口超过500万,供求比例仅为1:10!很多企业已经开始面临“人才荒”的窘境,外媒爆料说,中国企业已经不断在硅谷挖人了!目…

关于定于如何弄的漂亮点
</div></div><div class"panel"><h5 οnclickshowhidediv("sidebar_rss");>订阅博客</h5><div class"panel-content" id"sidebar_rss" style"display: block"><ul class"list&…

Happy New Year 2016
大学之前的时间都是按天来过的,期盼着一天一天地快快长大,期盼着过年穿新衣,阖家团聚,其乐融融; 大学的时间都是按周来过的,根据每周的课表周而复始,虽然单调但也是自由自在,简单充实…

HashTable原理与实现
memcached中hashtable部分的源码,hash部分的源码主要分布在assoc.h/c、hash.h/c中,总得来说代码比较简单,这里就稍微介绍一下。hashtable通常包括哈希函数和解决冲突的方法两个最主要的因素,memcached使用的哈希函数为Bob Jenkins…

as3自定义加载图片类
ImageLoader.as类: package{ import flash.display.Bitmap; import flash.display.Loader; import flash.display.Sprite; import flash.events.Event; import flash.events.ProgressEvent; import flash.net.URLRequest; /** * 图片加载类…
想成为一个数据科学家却不知道从何下手?这份路线图带你打开数据科学大门!...
作者 | Jane译者 | 火火酱 责编 | 徐威龙出品 | AI科技大本营(ID:rgznai100)你想成为一名数据科学家吗?你对数据科学了解很多,想知道关于数据科学天花乱坠的宣传都在讲什么吗?那好,你算是来对了地方。在过去…

bzoj 1691: [Usaco2007 Dec]挑剔的美食家
Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 621 Solved: 280[Submit][Status][Discuss]Description 与很多奶牛一样,Farmer John那群养尊处优的奶牛们对食物越来越挑剔,随便拿堆草就能打发她们午饭的日子自然是一去不返了。现在,Farmer…

PHP内核中的哈希表结构
https://github.com/HonestQiao/tipi/commit/17ca680289e490763a6a402f79afa2a13802bb36 下载:https://github.com/HonestQiao/tipi/tree/master/book/sample/chapt03 原文地址:http://www.nowamagic.net/librarys/veda/detail/1344 PHP中使用最为频…
应聘苹果数据科学家,你需要知道些什么?
作者 | Jay Feng译者 | 孙薇,责编 | 屠敏头图 | CSDN 下载自东方 IC出品 | CSDN(ID:CSDNnews)以下为译文:苹果公司是全球最大的技术公司之一,从事电子消费产品、计算机软件以及在线服务的设计、开发并销售工…

python 利用模板文件生成配置文件
2019独角兽企业重金招聘Python工程师标准>>> gen.py: __author__ fuhan from jinja2 import Template a{name:a} b{name:b} mode_dict { a:a, b:b } def gen_config(tplt_file, modea): with open(tplt_file, r) as r: tplt Template(r.read()) config mode_dic…

利用Apache的ab命令做Benchmark性能测试
测试系统性能,例如httpsqs # ab -k -c 10 -n 100000 "http://127.0.0.1:1218/?namexoyo&optput&dataabc ab是Apache超文本传输协议(HTTP)的性能测试工具。 其设计意图是描绘当前所安装的Apache的执行性能,主要是显示你安装的Apache每秒可…
MySQL 狠甩 Oracle 稳居 Top1,私有云最受重用,大数据人才匮乏! | 中国大数据应用年度报告...
整理 | 屠敏出品 | CSDN(ID:CSDNnews)科技长河,顺之者昌,错失者亡。在这个技术百态之中,中国专业的 IT 社区CSDN 创始人&董事长蒋涛曾多次在公开活动中表示,开发者是对技术变革最敏感的人群。这不仅源于…

MAC安装OpenXenManager管理Xenserver
官方文档:https://github.com/OpenXenManager/openxenmanager要求:Python 2.7pyGTK 2.16ConfigObjRavenGTK-VNC(仅限Linux)Debian / Ubuntu Linux软件包依赖项:python2.7 python-gtk2 glade python-gtk-vnc python-gla…
用Flutter + Dart快速构建一款绝美移动App
作者 | Wojciech Kuroczycki译者 | 弯月来源 | CSDN(ID:CSDNnews)如今,与前端或移动相关的新框架层出不穷。所有从事Web开发的人都应该熟悉各种目不暇接的新方法以及针对复杂问题的轻量级解决方案。我们不再因为没有现成的技术而烦恼…

自己写的单链表
link.c #include <stdio.h> #include <malloc.h> #include <string.h> #include <stdlib.h> #include "link.h"/**** 这是一个计算HASH值的算法**/ int time33(char* arKey,int arlength){int h 0;int i;for(i0;i<arlength;i){h h*3…

假装不知道有尽头(博弈论的诡计)
《笑林广记》中记载这样一则笑话。 有一个人去理发铺剃头,剃头匠给他剃得很草率。剃完后,这人却付给剃头匠双倍的钱,什么也没说就走了。一个多月后的一天,这人又来理发铺剃头。剃头匠还记得他上次多付了钱,觉得此人阔绰…

Java Script 第四节课 Java Script的隐式转换
<!DOCTYPE html><html><head><meta charset"utf-8"><title></title><script type"text/javascript">/*if(exp){exp为true的代码段;}else{exp为false的代码段;}*///其它类型转换成布尔类型假的有var a;//undefin…
深入理解malloc和free
1.为什么free是void*,那么它怎么知道要释放多少内存? 《UNIX环境高级编程》 《C语言编程常见问题解答》 《你必须知道的495个C语言问题》 《UNIX环境高级编程》 2.free源码 内存控制块结构定义 struct mem_control_block {int is_available;int si…

根据IP和MAC查端口
进入交换机的命令提示符.输入show ip arp 查出IP地址跟MAC 地址的对照表.再输入show mac-address-table,看一下这个MAC是从哪个端口学到的转载于:https://blog.51cto.com/124130/271033
“数学不好,干啥都不行!”骨灰级程序员:其实你们都是瞎努力!
之前很多程序员读者向我们反馈:1)数据结构、编程语句,核心原理都是数学,不会数学搞编程好难,后来发现各种东西还要概率论,还要推收敛!近似还要知道泰勒展开!2)做算法优化…

转:秒杀系统架构分析与实战
原文出处: 陶邦仁 欢迎分享原创到伯乐头条 0 系列目录 秒杀系统架构 秒杀系统架构分析与实战1 秒杀业务分析 正常电子商务流程 (1)查询商品;(2)创建订单;(3)扣减库存&a…

Visual Studio中的《C# 语言规范》
无意中的无意发现了个好东西——《C# 语言规范》,您不用到处下载,它就在您的Visual Studio安装目录中,例如:F:\Program Files\Microsoft Visual Studio 9.0\VC#\Specifications\2052\CSharp Language Specification.doc 这是它的目…
超轻量级中文OCR,支持竖排文字识别、ncnn推理,总模型仅17M
整理 | AI科技大本营光学字符识别(OCR)技术已经得到了广泛应用。比如发票上用来识别关键字样,搜题App用来识别书本上的试题。近期,这个叫做chineseocr_lite的OCR项目开源了,这是一个超轻量级中文ocr,支持竖…
Redis队列的应用
Redis用双链表list实现队列的 LPUSH key value [value ...] 将一个或多个值 value 插入到列表 key 的表头 如果有多个 value 值,那么各个 value 值按从左到右的顺序依次插入到表头: 比如说,对空列表 mylist 执行命令 LPUSH mylist a b c &…

Python fabric实现远程操作和部署
fabrictitle是开发,但是同时要干开发测试还有运维的活 (o(╯□╰)o)近期接手越来越多的东西,发布和运维的工作相当机械,加上频率还蛮高,导致时间浪费还是优点多。修复bug什么的,测试,提交版本库(2分钟)&…

自己写的哈希表以及解决哈希冲突
哈希表就是键值key-value对,使用hash函数让key产生哈希值,当不同的key产生相同的哈希值时就是哈希冲突了,产生哈希冲突可以使用拉链法。 hash.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include &…
Python与MySQL数据库的交互实战
作者 | Huang supreme编辑 | 郭芮图源 | 视觉中国安装PyMySQL库如果你想要使用python操作MySQL数据库,就必须先要安装pymysql库,这个库的安装很简单,直接使用pip install pymysql;假如这种方式还是安装不上,就用如下链…

Hyper-V的三种网卡
External 虚拟机和物理网络、本地主机都能通信 Internal 虚拟机之间互相通信,并且虚拟机能和本机通信 Private 仅允许运行在这台物理机上的虚拟机之间互相通信

filter-mapping中的dispatcher使用
web.xml里<filter-mapping>中的<dispatcher>作用 2.4版本的servlet规范在部属描述符中新增加了一个<dispatcher>元素,这个元素有四个可能的值:即 REQUEST,FORWARD,INCLUDE和ERROR 可以在一个<filter-mapping>元素中加入任意数目…
脉冲神经网络在目标检测的首次尝试,性能堪比CNN | AAAI 2020
译者 | VincentLee来源 | 晓飞的算法工程笔记脉冲神经网络(Spiking neural network, SNN)将脉冲神经元作为计算单元,能够模仿人类大脑的信息编码和处理过程。不同于CNN使用具体的值(continuous)进行信息传递,SNN通过脉冲序列(discrete)中每个脉冲发射时…