No se puede. Lo que si puedes hacer es una función que retorne un puntero a un arreglo de caracteres.
char* Funcion(){
char arreglo[100];
return arreglo;
}
Para tratar los caracteres del arreglo al que apunta el puntero tienes que cachar el puntero con otro puntero en la función que llame a la función que retorna el puntero.
main(){
char* palabra = Funcion();
palabra[0]; //primer caracter del arreglo apuntado
palabra[1]; //segundo caracter y asi
}
Como el arreglo es de 100 caracteres entonces tienes que agregar un caracter nulo en donde creas que termina la palabra guardada por el arreglo. esto es para que no tomes valores basura.
char palabra[5] = {'h','o','l','a','\0'};
for( ;*palabra;palabra++) //recorre el arreglo hasta encontrar un caracter nulo
printf("%c",*palabra
); //imprime los caracteres del arreglo
printf("%s",palabra
); //también se puede asi.
El ejemplo era para un arreglo de 5 elementos, el chiste es agregar un caracter nulo('\0') al final de la palabra