C语言memset()函数:将内存的前n个字节设置为特定的值
头文件:#include <string.h>
memset() 函数用来将指定内存的前n个字节设置为特定的值,其原型为:
void * memset( void * ptr, int value, size_t num );
参数说明:
- ptr 为要操作的内存的指针。
- value 为要设置的值。你既可以向 value 传递 int 类型的值,也可以传递 char 类型的值,int 和 char 可以根据 ASCII 码相互转换。
- num 为 ptr 的前 num 个字节,size_t 就是unsigned int。
【函数说明】memset() 会将 ptr 所指的内存区域的前 num 个字节的值都设置为 value,然后返回指向 ptr 的指针。
memset() 可以将一段内存空间全部设置为特定的值,所以经常用来初始化字符数组。例如:
- char str[20];
- memset(str, '\0', sizeof(str)-1);
【返回值】返回指向 ptr 的指针。
注意:参数 value 虽声明为 int,但必须是 unsigned char,所以范围在0 到255 之间。
范例:
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- int main()
- {
- // 不可以声明为 char *str = "http://c.biancheng.net";
- char str[] = "http://c.biancheng.net";
- memset(str, '-', 7);
- puts(str);
- system("pause");
- return EXIT_SUCCESS;
- }
执行结果:
-------c.biancheng.net
注意:字符数组是可以被修改的,字符串是只读的,不能被修改,而 memset() 又必须修改 str,所以不能将 char str[] = "http://c.biancheng.net"; 声明为 char *str = "http://c.biancheng.net";,否则运行时会报错。
C语言memset()函数:将内存的前n个字节设置为特定的值的更多相关文章
- C语言memset函数详解
C语言memset函数详解 memset() 的作用:在一段内存块中填充某个给定的值,通常用于数组初始化与数组清零. 它是直接操作内存空间,mem即“内存”(memory)的意思.该函数的原型为: # ...
- C语言memmove()函数: 复制内存内容(可以重叠的内存块)
头文件:#include <string.h> memmove() 用来复制内存内容,其原型为: void * memmove(void *dest, const void *src, s ...
- C语言 memset函数及其用法
定义 void *memset(void *s, int c, unsigned long n); 描述 将指针变量 s 所指向的前 n 字节的内存单元用一个“整数” c 替换,注意 c 是 int ...
- memset函数及其用法,C语言memset函数详解
在前面不止一次说过,定义变量时一定要进行初始化,尤其是数组和结构体这种占用内存大的数据结构.在使用数组的时候经常因为没有初始化而产生“烫烫烫烫烫烫”这样的野值,俗称“乱码”. 每种类型的变量都有各自的 ...
- C语言 mmap()函数(建立内存映射) 与 munmap()函数(解除内存映射)
mmap将一个文件或者其它对象映射进内存.文件被映射到多个页上,如果文件的大小不是所有页的大小之和, 最后一个页不被使用的空间将会清零.mmap在用户空间映射调用系统中作用很大. 条件 mmap()必 ...
- C语言 memset函数盲点
#include <stdio.h> #include <stdlib.h> #include <string.h> struct packet { int len ...
- memset函数详解
语言中memset函数详解(2011-11-16 21:11:02)转载▼标签: 杂谈 分类: 工具相关 功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值, 块的大 ...
- memset函数具体说明
1.void *memset(void *s,int c,size_t n)总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c. 2.样例#include void main(){char ...
- c/c++学习系列之memset()函数
[转载] memset 函数是内存赋值函数,用来给某一块内存空间进行赋值的: 包含在<string.h>头文件中,可以用它对一片内存空间逐字节进行初始化: 原型为 : void *mems ...
随机推荐
- Java生鲜电商平台-积分,优惠券,会员折扣,签到、预售、拼团、砍价、秒杀及抽奖等促销模块架构设计
Java生鲜电商平台-积分,优惠券,会员折扣,签到.预售.拼团.砍价.秒杀及抽奖等促销模块架构设计 说明:本标题列举了所有目前社会上常见的促销方案,目前贴出实际的业务运营手段以及架构设计,包括业务说明 ...
- Jquery选择器与样式操作
jquery选择器 jquery用法思想一 选择某个网页元素,然后对它进行某种操作 jquery选择器 jquery选择器可以快速地选择元素,选择规则和css样式相同,使用length属性判断是否选择 ...
- linux时间校对
在虚拟机中查看安装的linux时间,总是不对,于是查阅资料,有很多解决办法,我个人比较倾向于用ntpdate的方式更新时间. 感觉比较好用的一个方法: 输入date查看时间,发现不对,相差甚远!(当前 ...
- linux 使用indent格式化代码
indent是一个代码整理工具,能够方便快速的将代码格式化. 这是我较习惯的代码风格,网上还有很多其他的 参数: -nbad -bap -bbo -nbc -br -brs -c33 -cd33 -n ...
- centos depot_tools安装
https://github.com/cybertk/depot_tools This package contains tools for working with Chromium develop ...
- linux下tree命令产生乱码,通过修改字符集解决
alias tree='tree --charset ASCII'
- Vi编辑网卡
Vi /etc/sysconfig/network-scripts/ifcfg-ens33 1.光标定位到BOOTPROTO=后面 2.然后按x键进行删除 3.按i键打开编辑模式,输入BOOTPRO ...
- 八种排序算法原理及Java实现
原文链接:http://ju.outofmemory.cn/entry/372908
- maven项目目录(二)
-- 项目目录 --src 项目中的所有资源 --main 存放开发代码和资源 --java 项目的java源代码 --resources 项目的资源文件,源代码之外的其他文件 --test 存放测试 ...
- react服务端渲染框架
客户端渲染 加载一个空的html页面,然后请求一个打包的js文件,然后再客户端执行这个js文件 动态生成html内容然后插入到DOM元素上,在源代码查询中也只能看到空的html文档 没有任何其他内容 ...