gpt4 book ai didi

C - 传递 json_t (jansson lib) 作为参数(指针)

转载 作者:行者123 更新时间:2023-11-30 19:42:28 25 4
gpt4 key购买 nike

function1 中,我需要获取在 function2 中(正确)设置的 jsonObj 的值,但我有一些我认为指针问题。我应该如何传递参数jsonObj

int function1(){
json_t *jsonObj;
function2(jsonObj);
char * output = NULL;
output = jsonToChar(jsonObj); //output is NULL after this, so jsonObj is probably empty
...
return (0);
}

int *function2(json_t *jsonObj){
DL_MY_MSG myMsg;
//here I set myMsg correctly

jsonObj = myObjToJson(&myMsg);
char * output = NULL;
output = jsonToChar(jsonObj); //output has the expected contents from jsonObj, so jsonObj is OK

return (0);
}

json_t *myObjToJson(DL_MY_MSG *inputMessage){
//converts obj to json_t and returns it
}

谢谢!

最佳答案

您应该使function2()采用json_t**。否则,对 function2() 内的指针 jsonObj 的赋值不会影响调用者指向的地址。

int function1(){
json_t *jsonObj;
function2(&jsonObj);
// ...
}
int *function2(json_t **pjsonObj)
{
//...
*pjsonObj = myObjToJson(&myMsg);
}

关于C - 传递 json_t (jansson lib) 作为参数(指针),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31978137/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com