我已经创建了const指针的const数组,如下所示:
const char* const sessionList[] = { dataTable0,dataTable1,dataTable2,dataTable3 };
这个数组的常规非const指针的正确语法是什么?我认为它将是const char **,但编译器认为不然.
解决方法
const char* const sessionList[] = { ... };
写得更好:
char const* const sessionList[] = { ... };
sessionList [0]的类型是char const * const.
因此,& sessionList [0]的类型是char const * const *.
您可以使用:
char const* const* ptr = &sessionList[0];
要么
char const* const* ptr = sessionList;
这声明了一个指向sessionList元素的指针.如果要声明指向整个数组的指针,则需要:
char const* const (*ptr)[4] = &sessionList;