c++ - 使用指向数组数组的指针声明和初始化数组

标签 c++ pointers multidimensional-array syntax

this question 的上下文中,我想出了下面的代码

typedef char Tuple[2];

Tuple test1[2] = {{1,2},{1,2}};
Tuple test2[3] = {{1,2},{1,2},{1,2}};
Tuple test3[4] = {{1,2},{1,2},{1,2},{1,5}};

Tuple* all[3]  = {test1, test2, test3};

在初始化列表中存储指向数组数组(二元组)的指针。但是,如果不使用 typedef,我就无法编写等效代码。正确的语法是什么样的?

最佳答案

char test1[2][2] = {{1, 2}, {1, 2}};
char test2[3][2] = {{1, 2}, {1, 2}, {1, 2}};
char test3[4][2] = {{1, 2}, {1, 2}, {1, 2}, {1, 5}};

char (*all[3])[2] = {test1, test2, test3};

保留 typedef。

关于c++ - 使用指向数组数组的指针声明和初始化数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30138099/

相关文章:

c++ - 我的棒球程序应该可以运行,但我就是找不到为什么它不能运行的问题。查看程序

c++ - 不清楚 `delete` 和指针

c - 如何在c中打印寄存器的内容

c++ - "(void)pointer;"在 C++ 中是什么意思?

javascript - 二维数组 For 循环语法的困难

arrays - 以向量化方式将两个维度为 5 的数组相乘

java - 生命游戏数组索引越界

c++ - 如何保持 QtreeWidget(多于 2 列)第二列的大小动态?

c++ - Unordered_map 使用 2D 点进行查找

c++ - 在 C++ 中动态声明数据类型