代码


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

struct book{
int id;
char* name;
};

static void readData(int fd, void * privdata) {
struct book * b = privdata;
printf("============================\n");
printf("readData fd=%d, book.id = %d, name=%s , Address =%p \n", fd,b->id,b->name,b);
}


int main(){
char * name = "c++";
struct book b = {100,name};
readData(5,&b);
return(0);
}


输出

readData fd=5, book.id = 100, name=c++ , Address =000000000061FDB0

初始化

方式1

char * name = "c++";
struct book b = {100,name};

方式2

struct  book b2 = {.name="c primer",.id=10};