c線程傳遞多個參數,使用結構體


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <pthread.h>
#include <unistd.h>

#include "header-demo.h"

void display(void *couple);

typedef struct Persons {
    int age;
    char *husband;
    char *wife;
} Couple;

int main() {
    pthread_t pthread;
    Couple *couple = (Couple *)alloca(sizeof(Couple));
    couple->age = 10;
    couple->wife = "zhu";
    couple->husband = "guan";
//    strcpy(couple->husband, "guan");
//    strcpy(couple->wife, "zhu");
    pthread_create(&pthread, NULL, display, (void *)couple);
    pthread_join(&pthread, NULL);

    return 0;
}

void display(void *couple) {
    Couple *couple1 = (Couple *)couple;
    printf("age:%d, name1: %s, name2:%s\n", couple1->age, couple1->husband, couple1->wife);
}

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM