ho provato così ma ovviamente non funziona!
codice:
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <string.h>

int funzione(struct struttura);

struct struttura { 
   int x;
   int y;
   char * testo;
   int ireturn;
}; 

int main(int argc, char *argv[])
{
    struct struttura sfunzione;
    sfunzione.x = 10;
    sfunzione.y = 5; 
    sfunzione.testo = (char *) malloc(5 * sizeof(char));
    strcat(sfunzione.testo,"Ciao!");

    LPVOID param;
	DWORD ThreadId;
	CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE) funzione, &sfunzione, 0, &ThreadId);
	
    getchar();
    return 1;
}


int funzione(struct struttura sfunzione){
    
    printf("%s\n", sfunzione.testo);
    
    return 1;
}