2014-09-29 44 views
0

我想知道如何聲明,基本上,在C99 (a const pointer to (a mutable pointer to (a const type)))如何聲明一個常量「可變指針」的內存不可變塊

比方說,我有這個調用點:

const uint8_t* result; 
create(&result); 

void create(const uint8_t * const * resultPtr)申報被叫方在這種情況下,正確的方法還是意味着什麼意外?我不需要重新分配resultPtr,呼叫者不應該[從這個角度] *resultPtr[0]亂搞,但我的功能需要分配*resultPtr = …

回答

4

讓我們問cdecl

$ cdecl declare p as const pointer to pointer to const char 
const char ** const p 

這個聲明完全可以從右讀向左獲取英文版本(記住const charchar const是相同的)。

+0

哦,我已經忘記了所有關於cdecl。非常感謝! – natevw 2014-09-29 21:51:52