初始化问题
int [3][4] = {{1,2,3,4}{2,3,4,5}{6,7,8,9}}
如何去清空这个数组:(一个数组重复需要利用)
有两种方法,一种是重新定义一下,循环,
int a[10];
for (i = 0; i < 10; i++)
{
a[i] = 0;
}
另一种是用到一个<cstring>的函数库里的函数memset(a,0,40) a是要初始化的数组,0是要初始化的数,40是要初始化的长度,单位是bit 就是4个字节。这个40也可以是sizeof (a)去求解,不用自己手动去算
正常来说,应该是memset(a,-1,sizeof(a)) 初始化一般是初始化成0或-1 因为这里改变的是字节
一个int是4个字节40个bit
循环用的时间长,用memset的时间短
还有一个函数是memcpy函数,可以直接将一个数组复制到另一个数组
#include<iostream>
#include<cstring>
using namespace std;
int main()
{
int a[10], b[9];
int i;
for (i = 0; i < 10; i++)
{
a[i] = i;
}
memcpy(b, a, sizeof(a));
for (i = 0; i < 10; i++)
cout << b[i] << " ";
return 0;
}