C语言数组清零----使用memset函数

时间:2025-03-06 21:14:04
void *memset(void *str, int c, size_t n)

参数
str – 指向要填充的内存块。
c – 要被设置的值。该值以 int 形式传递,但是函数在填充内存块时是使用该值的无符号字符形式。
n – 要被设置为该值的字符数。

解释:复制字符 c(一个无符号字符)到参数 str 所指向的字符串的前 n 个字符。
作用:是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法
头文件:C中#include<>,C++中#include<cstring>

看着介绍其实函数作用非常简单,就是用于初始化,但是需要注意的是memset赋值的时候是按字节赋值,是将参数化成二进制之后填入一个字节。

案例

void Task_USART1_ACK(void)
{
	if(Uart_ReciveData_flag){
		get_rx_data();
		memset(USART1_RX_BUF, 0, sizeof (USART1_RX_BUF));
		USART1_RX_STA = 0;
		Uart_ReciveData_flag = 0;
	}
}