目录

1.memset设置数组内容

1.1memset

1.2设置数组内容

1.3错误使用

2.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其实是用来做内存块的拷贝的,当然用来做数组内容的拷贝也是没问题的。需要头文件。

语法:

示例:

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐