當我將一個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