我希望声明一个常量字符数组的常量数组。如果我这样写:
const char foo[] = "Foo";
const char bar[] = "Bar";
const char* const foobar[2] = { foo, bar };
看起来它可以工作,但如果我尝试使用"螺旋规则"来阅读它,foobar会被读作:
"foobar是一个指向char常量的指针数组2"
使用这个堆栈溢出的答案,
const适用于其左侧的内容。如果左侧没有任何内容,则适用于其右侧的内容。
第一个const
将应用于char,第二个const
也将应用于同一char。
两种阅读方式都没有意义,但代码确实可以运行(至少在Arduino中)。哪个const
使哪个成为常量?有没有更合理的编写方式?