web-dev-qa-db-ja.com

誰かがCプログラミングで要素を配列に追加する方法を説明できますか?

Intに初期化された配列に数値を追加したい場合、どうすればよいですか?

int arr[10] = {0, 5, 3, 64};
arr[] += 5; //Is this it?, it's not working for me...

最後に{0,5、3、64、5}が欲しいです。

私はPythonに慣れていますが、Pythonにはlist.appendという関数があり、要素をリストに自動的に追加します。このような関数はCに存在しますか?

15
user3326078
int arr[10] = {0, 5, 3, 64};
arr[4] = 5;

編集:だから私はあなたがするときに何が起こっているのか説明するように頼まれました:

int arr[10] = {0, 5, 3, 64};

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;

その後、他の値が割り当てられていないため、配列にはゴミ値/ゼロが含まれています

ただし、さらに6つの値を割り当てることができます。

arr[4] = 5;

配列の5番目の要素に値5を割り当てます。

arr[9]であるarrの最後のインデックスに値を割り当てるまで、これを行うことができます。

説明が途切れる場合は申し訳ありませんが、物事の説明が上手ではありません。

13
bitcell

サイズnの配列内の次の空き場所を追跡するカウンタ(freePosition)を使用できます。

2
Arjun Prasad

配列に値を入力する方法は2つしかありません。1つはもう1つの構文糖衣です。

a[i] = v;
*(a+i) = v;

したがって、何かを4番目の要素として配置するには、arr[4] = 5以外の選択肢はありません。 ただし、配列は4つの要素にのみ割り当てられているため、コードでは失敗します。

0
Amadan

_int arr[10] = {0, 5, 3, 64};_のようなコードがあり、次のインデックスに値を追加または追加する場合は、_a[5] = 5_と入力するだけで追加できます。

このようにする主な利点は、値_8_をインデックス9に追加したい場合のように、継続する必要のないインデックスに値を追加または追加できることです。インデックスの前にいっぱいになる前の上記の概念。ただし、pythonではlist.append()を使用することで、インデックスを継続することでそれを行うことができます。

0
Vignesh kanna