C - 数组中的数组

qua*_*ano 3 c arrays initialization

我想要一个包含数组的静态数组.我知道你可以像这样制作一个普通的数组:

int test[] = {1,2,3,4};
Run Code Online (Sandbox Code Playgroud)

但我想做这样的事情(Xcode给了我一堆警告和东西):

int test[] = {{1,2}, {3,4}};
Run Code Online (Sandbox Code Playgroud)

在python中它将是:

arr = [[1,2], [3,4]];
Run Code Online (Sandbox Code Playgroud)

这样做的正确方法是什么?

Lir*_*una 6

要拥有多维数组,您需要两个级别的数组:

int test[][] = {{1,2}, {3,4}};
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用,因为您需要声明除最后一个数组之外的最内部数组的大小:

int test[2][] = {{1,2}, {3,4}};
Run Code Online (Sandbox Code Playgroud)

或者如果您需要更严格的类型安全:

int test[2][2] = {{1,2}, {3,4}};
Run Code Online (Sandbox Code Playgroud)