Может ли кто-нибудь объяснить, как добавить элемент в массив в программировании на С?

Если я хочу добавить число к массиву, инициализированному int, как это сделать?

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

Я хочу {0,5, 3, 64, 5} в конце.

Я использую Python, а в Python есть функция, называемая list.append, которая автоматически добавляет элемент в список для вас. Существует ли такая функция в C?

Ответ 1

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 пятому элементу массива.

Вы можете делать это до тех пор, пока не выделите значения для последнего индекса arr который является arr[9];

Извините, если мое объяснение изменчиво, но я никогда не умел объяснять.

Ответ 2

У вас может быть счетчик (freePosition), который будет отслеживать следующее свободное место в массиве размером n.

Ответ 3

Есть только два способа поместить значение в массив, а один - только синтаксический сахар для другого:

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

Таким образом, чтобы поставить что-то в качестве 4-го элемента, у вас нет выбора, кроме arr[4] = 5. Однако в вашем коде это должно завершиться неудачно, потому что массив выделяется только для 4 элементов.

Ответ 4

Если у вас есть такой код, как int arr[10] = {0, 5, 3, 64}; и вы хотите добавить или добавить значение к следующему индексу, вы можете просто добавить его, набрав a[5] = 5.

Основное преимущество такой работы заключается в том, что вы можете добавлять или добавлять значение к любому индексу, который не требуется продолжать, например, если я хочу добавить значение 8 к индексу 9, я могу сделать это с помощью приведенной выше концепции до заполнение перед индексами. Но в python с помощью list.append() вы можете сделать это, продолжая индексы.