another linked question is Segmentation fault while using strcpy()?
I have a structure:
struct thread_data{
char *incall[10];
int syscall
Here is another possibility. It is unclear to me what you want the values initialized to, so this just grabs a number out of the air, which is almost certainly wrong.
struct thread_data *td;
int i;
// allocate memory for the structure
td = malloc( sizeof( struct thread_data ));
// then allocate/initialize the char* pointers. It isn't clear
// what you want in them ... pointers to existing data? Pre-allocated
// buffer? This just allocates a fixed size buffer,
for ( i = 0; i < sizeof( td->incall ) / sizeof( td->incall[0] ); i++ )
td->incall[i] = malloc( 42 );