memset:以字节为单位进行赋值
memset是一个初始化函数,作用是将某一块内存中全部设置为指定的值
//s指向要填充的内存块
//c:被设置的值
//n:字符数
void *memset(void *s, int c, sizeof n);
所要赋值的数组元素类型
1.对长度为8的char数组a设置
//字符型占据的内存大小就是1Byte,而memset函数也是以字节为单位进行赋值的
//将长度为8的char数组全部设置为1
memset(a,'1',8);
2.对int型数组初始化设置为1
//由于memset函数是以字节为单位进行赋值的,最好用sizeof()函数
memset(a, 1, sizeof(a));
3.当数组作为参数传递时,其传递的实际上是一个指针,这个指针指向数组的首地址,如果用sizeof(a)函数得到的只是指针的长度,而不是数组的长度。
函数中加入数组长度参数,在传递前先获取数组长度,然后将数组长度作为参数传递进去。
void find(int a[], int len)
{
memset(a, -1, len);
}
int main()
{
int a[6];
int len = sizeof(a);
find(a, len);
for(int i = 0; i < 6; i ++)
cout << a[i] << endl;
return 0;
}