void *status;
.....
pthread_create(&t_id, NULL, func, (void *)arg);
.....
pthread_join(t_id, &status);
printf("status:%d\n", (int)status);

ってして、funcのなかで、

void *func(void *myArg){
return (void *)1;
}

ってしたら、

% status:1

って出力されるんだけど、これはなんで?
プログラムは正しく動くけど、よく理解できません。
statusってアドレスだと思うんですけど...
printf("status:%d\n", (int)*status);
ってやると、ワーニングでるし...
なんで?