Basically, a recursive function is a function which would call itself until a certain condition is TRUE.

Eg.
Code:
unsigned long  factorial(int number)
{
        return (number < 2) ? 1 : number * factorial(number - 1);
}
Notice that if number is not less than 2, then number is multiplied with the return value of another call to factorial().