memset() 函数包含于 string.h 头文件中。
函数原型:
/* Set N bytes of S to C. */
void *memset(void *s, int c, unsigned long n);
函数作用:
定义变量时一定要进行初始化,尤其是数组和结构体这种占用内存大的数据结构。在使用数组的时候经常因为没有初始化而产生“乱码”。
每种类型的变量都有各自的初始化方法,memset() 函数可以说是初始化内存的“万能函数”,通常为新申请的内存进行初始化工作。它是直接操作内存空间,mem即“内存”(memory)的意思。
函数的功能是: 将指针变量 s 所指向的前 n 字节的内存单元用一个“整数” c 替换,注意 c 是 int 型。s 是 void* 型的指针变量,所以它可以为任何类型的数据进行初始化。
实例:
memset(&frame_send, 0, sizeof(CAN_FRAME_INFO));
//其中,frame_send是结构体CAN_FRAME_INFO的实例化