功能: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; }
时间: 2024-10-31 21:23:27