C has standard array manipulation functions such as qsort for sorting and bsearch for a binary search. However for complex data management you normally use a linked list, not an array.

When you describe in words or pseudo code for what data structure you need the array and the operations you want to do with it, I can probably suggest how to solve it in C.