Suppose I have an array
unsigned char arr[]= {0,1,2,3,4,5,6,7,8,9};
Is there a way to perform shift operation on them besides just copying them
If you're the only person with a pointer to the array, just increment the pointer and decrement the length.
Just remember to keep the original pointer around for when you free it.