Может ли кто-нибудь объяснить, как добавить элемент в массив в программировании на С?
Если я хочу добавить число к массиву, инициализированному 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()
вы можете сделать это, продолжая индексы.