В функцию нужно передавать весь массив, а не один элемент. Тогда после возврата из функции у вас на месте старого будет отсортированный массив.

например так

Код

void swap(int *p)
{
    int t=p[0];
    p[0]=p[1];
    p[1]=t;
}

void sort(int *arr, int n)
{
    int once_again, i;
    do
    {
        once_again=0;
        for(i=0;i<n-1;i++)
        {
            if(arr[i]<arr[i+1])
            {
                swap(arr+i);
                once_again=1;
            }
        }
    }while(once_again);
}


Это простейший пузырёк, реализованный в виде функции. Сортирует по возрастанию. Принимает указатель на начало и количество элементов.