c struct with char * field to compose struct array

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 #include <uuid/uuid.h>
 5 
 6 void retrieveUuid(char *uuidValue);
 7  
 8 struct bookStruct
 9 {
10     int Year;
11     char * Author;
12 };
13 
14  
15 void struct4();  
16 
17 int main()
18 {
19     struct4();
20 }
21 
22 void struct4()
23 {    
24     struct bookStruct arr[100]; 
25     char *author=(char*)malloc(40); 
26 
27     for(int i=0;i<100;i++)
28     {   
29         struct bookStruct book;
30         retrieveUuid(author);          
31         book.Year=2000+i; 
32         book.Author=(char*)malloc(40);
33         const char *author2=author;
34         strcpy(book.Author,author2);         
35         //printf("book.Author=%s\n",book.Author);        
36         arr[i]=book; 
37     }
38 
39     for(int i=0;i<100;i++)
40     {
41         printf("Year=%d,Author=%s\n",arr[i].Year,arr[i].Author);
42     }
43     free(author); 
44 }  
45  
46 void retrieveUuid(char *uuidValue)
47 {
48     uuid_t newUUID;
49     uuid_generate(newUUID);
50     uuid_unparse(newUUID, uuidValue);
51 }
原文地址:https://www.cnblogs.com/Fred1987/p/15553596.html