使用 memset 初始化 int 数组
using memset to initialise the int array
#include<bits/stdc++.h>
using namespace std;
int main()
{
int arr[1010];
memset(arr,1,sizeof(arr));
cout<<arr[1]<<endl;
return 0;
}
我正在尝试用值 1 初始化数组。
我希望我的 o/p 为 1。但是我得到了一些随机数 (16843009),因为 o/p of program.I 我不明白代码有什么问题???
我在尝试使用值 -1 和 0 初始化数组时得到了预期的答案。是否可以使用 memset 将 int 数组初始化为 -1 和 0 以外的值?????
memset 设置单个字节,而不是整个整数,通常跨越四个字节。如果你看一下数字 16843009 的位,它就是你得到的四个字节的值 1。正如 Ed Heal 所说,不要使用 memset 使事情复杂化。请改用循环。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int arr[1010];
memset(arr,1,sizeof(arr));
cout<<arr[1]<<endl;
return 0;
}
我正在尝试用值 1 初始化数组。 我希望我的 o/p 为 1。但是我得到了一些随机数 (16843009),因为 o/p of program.I 我不明白代码有什么问题???
我在尝试使用值 -1 和 0 初始化数组时得到了预期的答案。是否可以使用 memset 将 int 数组初始化为 -1 和 0 以外的值?????
memset 设置单个字节,而不是整个整数,通常跨越四个字节。如果你看一下数字 16843009 的位,它就是你得到的四个字节的值 1。正如 Ed Heal 所说,不要使用 memset 使事情复杂化。请改用循环。