C语言编程遇到难题了··求帮忙
程序如下:
头文件
23 union {
  24 char ch;
  25 unsigned uch;
  26 signed sch;
  27 int in;
  28 unsigned uin;
  29 signed sin;
  30 short int shin;
  31 unsigned short ush;
  32 signed short ssh;
  33 long int lin;
  34 unsigned long ulon;
  35 signed long slon;
  36 long long lonlon;
  37 unsigned long long ulonlon;
  38 float fl;
  39 double dou;
  40 }data;
  41  
  42 typedef struct {
43 union data;
  44 struct fun_data* next;//用于指向下一个参数
  45 }fun_data;
  54 struct afun_data{
  55  char* fun_name;
  56  fun_data* start_data;
  57  struct afun_data* next;//用于指向下一个函数
  58 struct afun_data* last;
  59  } ;
  60  
  61 pid_shm back_shm;
  62 struct afun_data* fun_now;
  63 fun_now=(struct afun_data*)malloc(sizeof(struct afun_data));
  64 fun_data *data_now,pointb;
  65 data_now=&pointb;
程序代码部分
  40 void send_fun(char* a)
  41 {
  42   struct  afun_data* fun_new;
  43   fun_new=(struct afun_data*)malloc(sizeof(struct afun_data));
  44    fun_new->fun_name=(char*)malloc(sizeof(char)+1);
  45    fun_new->fun_name=a;
  46    fun_now->next=(struct afun_data*)malloc(sizeof(struct afun_data));
  47    fun_now->next=fun_new;
  48    fun_new->last=(struct afun_data*)malloc(sizeof(struct afun_data));
  49    fun_new->last=fun_now;
  50    data_now=fun_new->start_data;
  51    fun_now=fun_new;
  52 }
双向链表,fun_now指向当前的,fun_new是新的
46和47会报错···求解析 就解答
没有多少分
------解决方案--------------------
C/C++ code
 
40 void send_fun(char* a)
 41 {
 42 struct afun_data* fun_new;
 43 fun_new=(struct afun_data*)malloc(sizeof(struct afun_data));
 44 fun_new->fun_name=(char*)malloc(sizeof(char)+1);
 45 fun_new->fun_name=a;
 47 fun_now->next=fun_new;
 49 fun_new->last=fun_now;
 50 data_now=fun_new->start_data;
 51 fun_now=fun_new;
 52 }