为了写一个高精度计算代码,用memset库函数初始化传入数组(short),调的过程中老发现数组没有完全按我的方式初始化,这种情况总是出现在数组的末端几个元素,其实不是末端,是后半部分才对,估计这个函数是按照每个字节来按位set的,而且,总共设置的字节数为函数的第三个参数,试验之下果然是。
对比下:
int arr[4]; memset(arr, 0, sizeof(arr)/sizeof(int));
和
int arr[4]; memset(arr, 0, sizeof(arr)/sizeof(int) * 4);