C strcat - warning: passando arg 2 de `strcat 'faz ponteiro de inteiro sem elenco

Estou tendo um problema com o programa abaixo. Eu estou tentando digitalizar através de um comando de seqüência de caracteres inserido pelo usuário para determinadas palavras. Minha principal questão agora é que quando eu corro o seguinte, recebo um aviso dizendo que "passando arg 2 de" strcat 'faz ponteiro de inteiro sem um elenco ". Minha intenção é percorrer os três primeiros caracteres da string "s", concatená-los em uma string "firstthree" e depois verificar o valor da string "firstthree". Qualquer ajuda é apreciada.

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <readline/readline.h>
#include <readline/history.h>

/* Simple example of using gnu readline to get lines of input from a user.
Needs to be linked with -lreadline -lcurses
add_history tells the readline library to add the line to it's
internal histiry, so that using up-arrow (or ^p) will allows the user
to see/edit previous lines.
*/

int main(int argc, char **argv) {
    char *s;
    while (s=readline("Enter Name: ")) {
            add_history(s); /* adds the line to the readline history buffer */
            printf("Hello %s\n",s);/*output message to the user*/
            char *firstthree;
            int i;
            for(i = 0; i < 3; i++){
                    strcat(firstthree, s[i]);
                    printf("Hello %s\n",firstthree);//checking to see the character added to the end of the string
            }
            printf("Hey %s\n",firstthree);/*prints out the first three characters*/
            free(s); /* clean up! */
            free(firstthree);
    }
    return(0);

}

questionAnswers(2)

yourAnswerToTheQuestion