C - A function that calculates the integral of a polynomial
buff is not a meaningful name. Call it integral perhaps?
I'd use a more mathematical degree rather than number_of_terms.
In your approach (going from lowest to highest degree) polynomial and buff may never overlap. restrict them:

void integrate(double * restrict polynomial, double * restrict buff, int number_of_terms)

I see no other way to deal with the integration constant but passing it as a separate parameter.