How to Add and Remove Elements from an Array in C

Introduction

In C programming, adding and removing elements from an array can be accomplished through different techniques depending on the type of array you are using. This article will cover both fixed-size arrays and dynamic arrays, such as std::vector, in the C programming language.

Using Fixed-Size Arrays

Adding an Element

Since the size of a fixed-size array is constant, you typically cannot add elements directly. However, you can add an element to the next available index if there is space. The following example demonstrates how to add an element to a fixed-size array:

#include stdio.hint main() {    const int SIZE  5;    int arr[SIZE]  {1, 2, 3}; // Initialized with 3 elements    int currentSize  3; // Current number of elements    // Add an element if space allows    if (currentSize  SIZE) {        arr[currentSize]  4; // Add 4 at the next position        currentSize  ; // Update current size    }    // Display array    for (int i  0; i  currentSize; i  ) {        printf("%d ", arr[i]);    }    return 0;}

Removing an Element

To remove an element, you typically need to shift elements to fill the gap left by the removed element.

int indexToRemove  1; // Example: remove element at index 1for (int i  indexToRemove; i  currentSize - 1; i  ) {    arr[i]  arr[i   1]; // Shift elements left}currentSize--; // Decrease size

Using std::vector

std::vector, a part of the C Standard Library, provides dynamic sizing, making it easier to add and remove elements without manual memory management.

Adding an Element

You can use the push_back method to add an element at the end of the vector. Here's an example:

#include iostream#include vectorint main() {    std::vector vec  {1, 2, 3};    // Add an element    vec.push_back(4); // Adds 4 to the end of the vector    // Display vector    for (int num : vec) {        std::cout 

Removing an Element

You can use the erase method to remove an element at a specific index. Here's an example:

int indexToRemove  1; // Example: remove element at index 1// Remove the element(()   indexToRemove);// Display vector after removalfor (int num : vec) {    std::cout 

Summary

For fixed-size arrays, you manage the size manually and must shift elements when removing. With std::vector, adding and removing elements is straightforward with push_back and erase, respectively, as it manages memory automatically.

By understanding these techniques, you can effectively manipulate arrays in C and C to suit your programming needs.