Yeah, I know R and understand.
With variable argument lists, C does not have any means to implicitly detect the number of arguments passed. You'll need to either pass the number of vectors explicitly or look for a marker indicating the last vector.
A function of the form;
Code:
void c(double *result, int number_of_vectors, ...)
will do the trick. After the number_of_vectors argument, interpret the arguments in pairs (eg an int specifying number of elements in the vector, a pointer to the first element).