How do I return a char array with any length in C?
char string[](int, int);
doesn't work; is there a way to return a char array?
You are unable to do that in C. Instead, return a pointer.
char *string(int length, int unused) {
char *s = calloc(x, sizeof(char));
return s;
}