1直接赋值
int a[10]={0};
//数组里面的所有元素全都变为0
2 利用for循坏来初始化数组
int a[20];
for(int i=0;i<=sizeof(a);i++)
{
a[i]=0;
}
3 利用库函数memset来初始化
初始化格式 memset(数组名,初始化值,初始化数组的长度)
列子
- int a[20];
memset(a,-1,sizeof(a))
;
就是将所有的元素变为-1;
但是对于int型数组C,每个元素占四个字节。也就是说将数组C中的每个元素赋值成0x01010101,对应的十进制就是16843009
- char B[20];
memset(B, 1, sizeof(B));
因此,当memset(内存地址,1,字节数)这句的意思是要把直定的内存空间的值设置为0x01。对于char型数组B,正好是每个元素占一个字节,所以这样赋值就是将数组B中所有的元素都赋值为1,没有问题。
注意的地方
- memset主要是用来初始化char数组,在给char以外的数组赋值时,只能初始化为0或者-1或者一个更大的数
*强烈建议使用memset 来初始化char类型数组 - memset只能作用于一维数组。
- memset所在的库是< cstring>
本文详细介绍了在C语言中初始化数组的三种常见方法:直接赋值、利用for循环和使用memset函数。直接赋值适用于简单场景,for循环适用于复杂初始化需求,而memset则特别适合初始化char类型数组。





