C语言 memset
#include <stdio.h>
#include <string.h>
#define ARRAY_SIZE 1000000
int main() {
int arr1[ARRAY_SIZE];
memset(arr1, 0, sizeof(arr1)); // 使用memset函数初始化数组
int arr2[ARRAY_SIZE];
for (int i = 0; i < ARRAY_SIZE; i++) {
arr2[i] = 0; // 直接赋值初始化数组
}
return 0;
}
备注:
- 在处理大量数据时,使用memset函数比直接赋值要快一些,因为memset函数是按字节对数据进行赋值的,可以利用CPU的向量寄存器进行优化,从而使其更快
- 而对于小量数据,直接赋值可能会更快一些,因为函数调用的开销可能会超过直接赋值
- 使用memset函数和直接赋值之间的性能差异取决于很多因素,例如数据的大小,CPU架构,内存速度,编译器优化等等