2011-05-25 22 views
1

NULL指針在the documentation爲OCIAQDeq()它指出:使用具有OCIAQDeq()

的應用程序可以選擇通過 NULL用於有效載荷的第一次 OCIAQDeq()被調用,並讓OCI 爲有效負載分配內存。 然後它可以使用指向 先前分配的內存的指針,然後調用OCIAQDeq()。

有沒有人有如何使用此功能的例子?如果我通過NULL,我隨後從哪裏得到指針?謝謝!

回答

2

這一塊的文件是指​​參數的函數,其是雙指針:根據以下

因爲它是一個雙指針分配的緩衝區將dvoid **通過傳入的參數傳回給呼叫者。例如,

dvoid* pBuffer = NULL; 
OCIAQDec(..., &pBuffer, ...); 

因爲NULL傳遞函數將分配一個緩衝區,並將其存儲到pBuffer值可以在以後重新使用

+0

然後做完全以OCIAQDeq(相同的呼叫)再次,我的數據會出現在* p緩衝器?這是堆分配的,所以我可以返回pBuffer? – Gaius 2011-05-25 16:41:05

+1

@Gaius這是我通過閱讀文檔的理解。 – JaredPar 2011-05-25 16:43:00

+0

謝謝,我會給你一個旋轉 – Gaius 2011-05-25 16:46:34