加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

[C/C++基础] C语言常用函数memset的使用技巧

发布时间:2021-11-19 14:36:27 所属栏目:教程 来源:互联网
导读:函数声明:void *memset(void *s, int ch, size_t n); 用途:为一段内存的每一个字节都赋予ch所代表的值,该值采用ASCII编码。 所属函数库:memory.h 或者 string.h 参数:(1)s,开始内存的地址;(2)ch和n,从地址s开始,在之后的n字节长度内,把每一个字
函数声明:void *memset(void *s, int ch, size_t n);
 
用途:为一段内存的每一个字节都赋予ch所代表的值,该值采用ASCII编码。
 
所属函数库:<memory.h> 或者 <string.h>
 
参数:(1)s,开始内存的地址;(2)ch和n,从地址s开始,在之后的n字节长度内,把每一个字节的值都赋值为n。
 
使用举例:
 
代码如下
 
 
 
编译运行结果
 
 
 
说明:
 
该函数最常用的用途就是将一段新分配的内存初始化为0。例如我们代码的第9-10行。
 
需要注意的是,函数第二个参数的值代表的是即将设置的每个字节的值,因此对于第二个参数不是0的情况要格外小心。例如我们代码的第12-13行。intArray[0]本来是一个四字节的整数,它的每一个字节都将变成1。第12行运行完毕,intArray[0]的内容如下
 
(二进制)00000001 00000001 00000001 00000001 = (十进制)16843009
 
这也是为什么第13行输出的结果是16843009。

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读