Copy content of array
Make newArray be a pointer to whichever array you wish to work with.  For example:

int myArray1[] = {0, 2, 4, 5, 7, 9, 11};
int myArray2[] = {0, 2, 3, 5, 7, 8, 10};
int myArray3[] = {0, 3, 5, 6, 7, 10};

int *newArray = myArray2;

// ... work with selected array, via newArray[] subscripting


Note, you may need to set an array-length variable at the same time as choosing the array.

For example:

int *newArray = myArray2;
int newSize = sizeof(myArray2)/sizeof myArray2[0];

// ... work with selected array

newArray = myArray3;
newSize = sizeof(myArray3)/sizeof myArray3[0];
// ... work with selected array


Alternately, add an array-end marker at the end of each array (eg, a negative number), or more elegantly, make all the arrays the same length.

If you want to make a new copy of the original array, such that modifying the new array won't change the old, use (eg) memcpy().  For example:

int newArray[7];
...
memcpy(newArray, myArray2, sizeof(myArray2));


Note that memcpy()'s size argument is given in bytes.  Also, if you need to declare memcpy() [I don't recall whether it's automatically declared in the Arduino environment], add #include &lt;string.h&gt; up front.