OneBite.Dev - Coding blog in a bite size

copy an array in C

Code snippet on how to copy an array in C

#include <stdlib.h>
int* copyArray(int* original, int size) {
  // create a new array and allocate memory for it
  int* copy = calloc(size, sizeof(int));
  // copy each element from the original array
  for (int i=0; i<size; i++) {
    copy[i] = original[i];
  }
  // return the address of the newly created array 
  return copy;
}

This code creates a copy of an array in C. The first step is to create an array called ‘copy’ and allocate memory for it by calling ‘calloc’. This is to ensure that the correct amount of memory is available to store the data in the array. Next, every element in the original array is copied into the new array by looping through the size of the array. Lastly, the address of the newly created array is returned.

c