nat*_*evw 1 c const-correctness c99
我想知道基本上如何(a const pointer to (a mutable pointer to (a const type)))在 C99 中声明。
假设我有这个呼叫站点:
const uint8_t* result;
create(&result);
Run Code Online (Sandbox Code Playgroud)
void create(const uint8_t * const * resultPtr)在这种情况下声明被调用者的方法是正确的还是意料之外的?我不需要重新分配resultPtr,调用者不应该[从这个角度来看],*resultPtr[0]但我的函数需要分配*resultPtr = ….
让我们问cdecl:
$ cdecl declare p as const pointer to pointer to const char
const char ** const p
Run Code Online (Sandbox Code Playgroud)
该声明可以从右到左完全阅读以获得英文版本(记住const char和char const是一样的)。