guoquanli 发表于 2019-11-29 13:45:27

C语言指针做函数参数的求助

bool InitList(listQuest *pListQuest){
    pListQuest = (listQuest*)malloc(sizeof(listQuest));
    if(pListQuest != NULL){
      memset(pListQuest,0 ,sizeof(listQuest));
      return true;
    }else{
      return false;
    }
    }

    listQuest *pMyListQuest = NULL ;
    if(InitList(pMyListQuest)){
      printf("线性表创建成功\n");
    }else{
      printf("线性表创建失败\n");
    }
    if(pMyListQuest == NULL){
      printf("NULL\n");
    }else{
      printf("not null\n");
    }
InitList函数,为何指针参数带不出函数内部malloc创建的指针{:10_269:}

doylovem 发表于 2019-11-30 12:48:07

在你的代码里,pListQuest是行参,函数return之后就自动销毁了,你可以选择把pListQuest return出来,或者把函数中所有pListQuest 替换成 *pListQuest (包括参数列表中的pListQuest)。

guoquanli 发表于 2019-12-2 11:42:20

谢谢您的解答,非常感谢!
页: [1]
查看完整版本: C语言指针做函数参数的求助