【C语言】memset 函数用于将一块内存区域中的每个字节设置为特定的值
memset 函数用于将一块内存区域中的每个字节设置为特定的值

功能:填充内存块。Fill block of memory
memset函数是用来设置内存块的内容的,将内存中指定长度的空间设置为特定的内容。
头文件:<string.h>
参数:
ptr:指针,指向要设置的内存空间的其实地址
value:要设置的值,函数会把value值转换成unsigned char的数据进行设置的。
num:要设置的内存长度,单位是字节
返回值:返回的是要设置的内存空间的起始地址
#include <iostream> int main() { std::cout << "Hello World!\n"; int a[10]; for (size_t i = 0; i < 10; i++) { std::cout << a[i] << std::endl; } }
结果“:

所以需要赋初值
#include <iostream> int main() { std::cout << "Hello World!\n"; int a[10]; for (size_t i = 0; i < 10; i++) { a[i] = 0;; } for (size_t i = 0; i < 10; i++) { std::cout << a[i] << std::endl; } }
结果:

但是这样太麻烦

最终:
#include <iostream> int main() { std::cout << "Hello World!\n"; int a[10]; //第一种方法 //for (size_t i = 0; i < 10; i++) //{ // a[i] = 0;; //} //第二种方法 memset(a, 0, sizeof(a)); for (size_t i = 0; i < 10; i++) { std::cout << a[i] << std::endl; } /* 初始化函数--memset 格式:memset(数组名,0,sizeof(数组名)); 调用从string库#include<cstring> memset一般使用"0”初始化内存单元,而且通常是给数组或者结构体进行初始化; memser是对大的数组或者结构体进行清零初始化的最快方法,因为它是直接对内存进行操作的。*/ }
结果:


浙公网安备 33010602011771号