вам нужен массив указателей
const char *AST_NODE_TYPE_NAMES[] = {
"AST_NODE_CONSTANT",
"AST_NODE_BINARY",
"AST_NODE_UNARY",
"AST_NODE_VARIABLE",
"AST_NODE_ASSIGNMENT",
"AST_NODE_STATEMENTS",
};
, и этот массив может в конечном итоге переводить указатель на нужный вам указатель:
const char **foo1 = AST_NODE_TYPE_NAMES;
const char **foo = &AST_NODE_TYPE_NAMES[0];
вы также можете использовать составной литерал (который на самом деле являетсямассив указателей в данном случае) для инициализации этого указателя
const char** AST_NODE_TYPE_NAMES =(const char *[]) {
"AST_NODE_CONSTANT",
"AST_NODE_BINARY",
"AST_NODE_UNARY",
"AST_NODE_VARIABLE",
"AST_NODE_ASSIGNMENT",
"AST_NODE_STATEMENTS",
};