c/c++初始化数组的三种方法

本文详细介绍了在C语言中初始化数组的三种常见方法:直接赋值、利用for循环和使用memset函数。直接赋值适用于简单场景,for循环适用于复杂初始化需求,而memset则特别适合初始化char类型数组。

1直接赋值

int a[10]={0};

//数组里面的所有元素全都变为0

2 利用for循坏来初始化数组

int a[20]; 
forint i=0;i<=sizeof(a);i++{
    a[i]=0;
}

3 利用库函数memset来初始化
初始化格式 memset(数组名,初始化值,初始化数组的长度)
列子

 - int a[20];
memset(a,-1sizeof(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>
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值