remove the line
int pthread_mutex_init(*monitor,NULL);
and instead do
pthread_mutex_init(&monitor,NULL);
at the beginning of your main function. (and check that it returns 0)
As it is you are declaring the function not calling it, and since it's already declared you get an error