#include <stdio.h>
#include <stdlib.h>
#include <string.h>

char** split(char *str, int *qtd){
    *qtd = 0;
    char **strings = NULL;
    int i = 0;
    char *pch = strtok (str," ");
    while (pch != NULL){
        strings = realloc(strings, sizeof(char*) * (*qtd + 1));
        strings[i] = malloc(strlen(pch) + 1);
        strcpy(strings[i++], pch);
        pch = strtok (NULL, " ");
    }

    return strings;
}

int main () {
    char str[] = "Bom dia pessoal";

    int qtd_strings, i;
    char **strings = split(str, &qtd_strings);
    for (i = 0;i < qtd_strings;++i){
        printf("%s\n", strings[i]);
    }

    //mostrar cada uma
    for (i = 0;i < qtd_strings;++i){
        printf("%s\n", strings[i]);
    }  
    return 0;
}
