C++入门:一维数组中memset、memcpy的使用
·
目录
1.memset设置数组内容
1.1memset
函数原型如下:

memory-- 内存
memset 内存设置
memset是用来设置内存的,将内存中的值以字节为单位设置成想要的内容,需要头文件。

编译运行:

如果想跳过字符串开头的几个字符,例如:跳过he
memset(arr+2, 'x', 5);

编译运行:

1.2设置数组内容
示例

编译运行

1.3错误使用

编译运行

从上面打印机结果可以看出,当value设置为1或者其他非0的数字时,打印结果不符合预期。
主要原因是memset函数是给每个字节设置value值,而一个整形元素占用4个字节,一个整型的每个字节都被设置为1,二进制就是:00000001 00000001 00000001 00000001,转换成十进制就是:16843009,因此结果是不符合预期的。
注:memset以字节为单位

示例:

2.memcpy拷贝数组内容
memcpy--memory copy 内存拷贝
在使用数组的时候,有时候我们需要将数组a的内容给数组b,比如:
![]()
怎么做呢?可以直接赋值么?不行!

其实C++中有一个库函数memcpy可以做数组内容的拷贝,当然memcpy其实是用来做内存块的拷贝的,当然用来做数组内容的拷贝也是没问题的。需要头文件。
语法:

示例:

更多推荐


所有评论(0)