How to remove an element at a specific index from an array with C

1 Answer

0 votes
#include <stdio.h>

void removeElement(int arr[], int *size, int index) {
    if (index < 0 || index >= *size) {
        printf("Index out of bounds\n");
        return;
    }

    for (int i = index; i < *size - 1; i++) {
        arr[i] = arr[i + 1];
    }

    // Optionally, set the last element to 0 or some other value
    arr[*size - 1] = 0;
    
     // Decrease the size of the array
    (*size)--;
}

int main() {
    int arr[] = {4, 9, 8, 6, 5, 7, 1, 2};
    int size = sizeof(arr) / sizeof(arr[0]);
    int index = 2; 

    removeElement(arr, &size, index);

    for (int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }

    return 0;
}

  
/*
run:
  
4 9 6 5 7 1 2 
  
*/

 



answered Feb 20, 2025 by avibootz

Related questions

1 answer 112 views
1 answer 105 views
1 answer 180 views
2 answers 306 views
1 answer 230 views
2 answers 228 views
1 answer 182 views
...