功能:memset是对一个一个的字节进行初始化。
有可能出错的地方: 如果对int数组进行初始化为非0的整数,会出现错误,如:
memset(arr, 1, sizeof(int)*length)
每个数都被初始化为00000001 00000001 00000001 00000001。而不是1
#include<iostream>
#include<algorithm>
#include<iterator>
#include<memory.h>
using namespace std;
void updateArray(int arr[], const int& length)
{
int index = 2;
int value = 3;
arr[index] = value;
// *(arr+index) = value;
// *(arr+index)++;
}
int main()
{
const int length = 6;
int arr[length];
memset(arr, 0, sizeof(int)*length);
updateArray(arr, length);
copy(arr, arr+length, ostream_iterator<int>(cout, " "));
cout<<endl;
return 0;
}