#include"stdio.h"
#include"string.h"
#include"stdlib.h"
#include"pthread.h"
struct student{   //给新的线程传递一个结构体:main线程可以传递参数
    int age;
    char name[20];
};
void *thread_fun(void *stu)
{
   sleep(1);//
   printf("age is %d, name is %s\n",((struct student *)stu)->age, ((struct student *)stu)->name);
   return (void *)0;
}
int main(int argc, char *argv[])
{
  pthread_t  tid;
  int err;
  // int *rval
   struct student stu;
   stu.age=20;
   memcpy(stu.name, "zhangsan", 20);
    err = pthread_create(&tid,NULL,thread_fun,(void *)(&stu));
    if(err!=0)
    {
       printf("create new thread failed\n");
       return 0;
    }
    int i;    printf("main thread have %d args",argc);
    for(i=0;i<argc;i++)
    {
        printf("main thread argc is %s\n",argv[i]);
    }
   //sleep(1);//pthread_exit(rval); 这样主线程结束后不影响新线程运行
  return 0;
}