use*_*078 15 c arrays integer append
如果我想将数字附加到初始化为int的数组中,我该怎么做?
int arr[10] = {0, 5, 3, 64};
arr[] += 5; //Is this it?, it's not working for me...
Run Code Online (Sandbox Code Playgroud)
我最后想要{0,5,3,64,5}.
我习惯使用Python,而在Python中有一个名为list.append的函数,它会自动为您添加一个元素到列表中.C中是否存在此类功能?
小智 14
int arr[10] = {0, 5, 3, 64};
arr[4] = 5;
Run Code Online (Sandbox Code Playgroud)
编辑: 所以当我这样做时,我被要求解释发生了什么:
int arr[10] = {0, 5, 3, 64};
Run Code Online (Sandbox Code Playgroud)
您创建一个包含10个元素的数组,并为数组的前4个元素分配值.
还要记住, arr从索引开始,arr[0]以索引为arr[9]10个元素结束
arr[0] has value 0;
arr[1] has value 5;
arr[2] has value 3;
arr[3] has value 64;
Run Code Online (Sandbox Code Playgroud)
之后,数组包含垃圾值/零,因为您没有分配任何其他值
但是当你这样做时,你仍然可以再分配6个值
arr[4] = 5;
Run Code Online (Sandbox Code Playgroud)
您将值5分配给数组的第五个元素.
直到你的最后的指数值分配你可以这样做arr就是arr[9];
对不起,如果我的解释不稳定,但我从来没有擅长解释事情.
将值放入数组的方法只有两种,一种只是另一种的语法糖:
a[i] = v;
*(a+i) = v;
Run Code Online (Sandbox Code Playgroud)
因此,要将某些内容作为索引 4 处的元素,除了 之外别无选择arr[4] = 5。