当我将一个struct
指针传递给一个函数时,我希望在该函数结束后,对指针所做的更改保留。我不知道我做错了什么。在C中传递一个结构
void webSocketHandler(struct libwebsocket_context* context)
{
/* some code */
context = libwebsocket_create_context(&info);
}
sint32 s32_WSER_Init(sint32* configDataPoolIndexes, struct libwebsocket_context* context)
{
/* some code */
webSocketHandler(configDataPoolIndexes, context);
}
的问题是,context
不NULL
里面webSocketHandler
创建后,但如果我尝试调用处理后使用它里面s32_WSER_Init
,我得到NULL
。
在此先感谢。
感谢。我通过了这样的普通指针,所以我认为它对于结构来说也是一样的。 – Modasser
@ModasserRahman在C中,您可以像处理任何值一样处理结构,例如整数。这真是令人惊讶的高级功能,像C这样的语言。你可以例如传递并返回,并通过将它们包装在一个结构中来赋值(已知和固定长度)数组。 – hyde
thnx很多@hyde。我还有一个与此有关的问题。我如何在功能 'function(struct a ** b){(* b) - > state;}' 中使用'b-> state'我试过了这种形式,但是'(* b) - >状态'不起作用 – Modasser