这个问题在某些方面有问题,但我觉得很难理解。
int (*q)[3][4]
- > q
是指向3行4列的2-D数组的指针。
现在假设我想从函数返回一个二维数组。
pointer-to-2d-array func() {
static 2 day array;
return ;
}
基本上应该是我的功能的签名。我见过很多像下面这样我不喜欢的地方
int (*fun2())[column];
我发现难以解释/理解签名。 有人可以帮我这个吗?
答案 0 :(得分:1)
一种简单的方法是使用typedef
:
typedef int (*ThreeByFourPtr)[3][4];
ThreeByFourPtr fun() {
static int res[3][4]= {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
return &res;
}
优点是语法镜像了类型指针声明,类型名称替换了变量的名称。