比如
void threadpro(int a,char *c)
{
printf("%d\n",a);
printf("%s\n",c);
}void main()
{
threadpro(1,"a");
threadpro(2,"b");
}这样的形式,我想要主函数中传递多个参数,不是传递一个参数,因为值经常也在变的,所以不用全局
变量和结构体等,线程默认只能传递一个参数,如何能够实现传递多个参数,网上找了很久找到一个
方法,传递数据方式,但是不会用,我希望能提供给我一个例子.

解决方案 »

  1.   

    把所有参数定义为一个结构,创建线程前用new分配并赋值,在线程中delete。
      

  2.   

    嗯,用结构体,一定要new,用后记得delete掉。
      

  3.   

    typedef struct myinfo
    {
    int a;
    char c[32];
    } myinfo;void threadpro(myinfo *info) 

    printf("%d\n",info->a); 
    printf("%s\n",info->c); 
    } void main() 

    myinfo info[2];
    info[0].a=1;
    strcpy(info[0].c, "a");info[1].a=2;
    strcpy(info[1].c, "b");threadpro(&info[0]); 
    threadpro(&info[1]); 
    }
      

  4.   

    嗯,用结构体,一定要new,用后记得delete掉。