常量对象的常量数组
如何在C(而不是C ++)中定义常量对象的常量数组?
我可以定义
int const Array [] = { /* init data here */ };
但这是一个非常数对象的非常数。
我可以用
int const * const Array = { /* init data here */ };
它可能会奏效。 但是有可能用数组语法做到这一点吗? (看起来更干净)
数组不能“恒定” – 这甚至应该是什么意思? 在任何情况下,数组大小都是编译时常量,如果所有成员都是常量,那么你还想要什么? 您试图排除哪种突变对于const int[]
是可能的?
“双常量”的东西只适用于指针,因为它们可以被改为指向别的东西1 ,因为数组的特征本身就是静态的(数组不能改变大小/类型/指向别的东西)唯一的const
你可以申请是他们的元素。
- 所以你有变量“指向
int
指针”,“指向常量int
指针”,“指向int
常量指针”,“指向常量int
常量指针”。
如果你想要不修改数组的元素,只需使用:
const int Array[];