C语⾔数组的所有元素初始化成相同的值
  这个问题⼀直困扰了我很久,我向来都⽤for来控制置-1;因为我不会⽤memset(つ﹏⊂)我是个蒟蒻。今天终于学会了⼀点⽪⽑,赶紧记录⼀下
⽅法⼀:
  简单粗暴,快捷有效。for循环⼀点点的置1,这个⽅法⼀直有效,没有限制条件,除⾮你不知道⼤⼩。
⽅法⼆:
  建⽴数组的时候同时完成初始化,如果是静态创建数组那么只能将数组初始化为0;
  1 int arr[10] = {0};
  如果是动态创建数组的化就可以⽤stdlib⾥的calloc进⾏内存的动态分配 ,开辟空间后默认置0,
  不过⽅法⼆只能置0。
⽅法三:
令数组全部的值为0
    ⽤string⾥的memset函数来处理,但由于其是对每⼀个字节赋值的所以拥有四个字节的int,只能past,但是因为按字节赋值对0和-1没有影响所以可以⽤来置0或-1;
  为什么0和-1可以呢,因为-1的BCD码为32个1,0呢则为32个0,所以截取成虽然是按字节存写的但是int读取时都是相同的值所以⽆所谓了。
  1就别想,它的BCD码是31个0⼀个1……这个误差,能飞到天上去。
  1 memset(arr, (-1), sizeof(arr));
  ⼤概就是酱紫,(因为只会这些,只能写道这⾥了)
学习不易,诸君共勉!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。