C / C ++:常量数组的常量数组

时间:2011-01-04 04:48:21

标签: c++ arrays multidimensional-array const

创建常量数组常量数组的语法是什么?

我希望函数参数是常量char*字符串的常量数组。

4 个答案:

答案 0 :(得分:6)

您可以将const放在第一个星号的右侧,例如

void f(const char *const *argument)

或等效

void f(const char *const argument[])

要获得更多维度,只需添加更多*const s(在这种情况下我不会使用[]替代方案):

void f(const char *const *const *argument) // 2D array of strings

答案 1 :(得分:4)

关键是向后(从右到左)编写C ++:

         char * const myVar[10] const;

...表示myVar是const数组的长度为10的const指针指向char。

答案 2 :(得分:1)

我相信那将是一个

const char* const array[size][size] = { /* initializer */ }

即,一个不可变的指针数组数组,这些指针无法更改。

答案 3 :(得分:1)

问题有点不清楚:你想创建(定义)一个数组,或者传递给一个函数吗?

定义常量 C-strings 的常量数组的语法是

const char array[2][14] = { "first string", "second string" };

要定义非字符串类型的常量数组的常量数组,初始化程序会有所不同:

const int array[2][3] =
{
  { 1, 2, 3 },
  { 4, 5, 6 }
};

(如果合适,你应该制作数组static const。)