微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何创建一个指向多维数组的指针?

如何解决如何创建一个指向多维数组的指针?

假设存在一个N维数组:

private void button3_Click(object sender,EventArgs e)
{
    About abt = new About();
    abt.ShowDialog();
}

如何创建指向此的指针?

一个人可以通过获取最低级别的数组的地址,然后获取新创建的指针数组的地址,等等来创建另一个N-1-维指针数组,但这听起来像是一团糟。 type list[S1][S2]...[SN] 可能派上用场,但这也不是一种快速方法。 有什么选项可创建指向整个数组或该数组任何级别的指针?

解决方法

我会自己使用typedef。这里有一个例子:数组数组;

#include <stdio.h>

typedef double arrd_t[2][3][4][5][6][7];
typedef arrd_t arrd_t_t[4][5][6][8][9][10];

arrd_t_t array;
arrd_t_t *ptr = &array;


double ret(arrd_t_t *ptr,size_t x,size_t y,size_t z,size_t a,size_t b,size_t c,size_t x1,size_t y1,size_t z1,size_t a1,size_t b1,size_t c1)
{
    return (*ptr)[x][y][z][a][b][c][x1][y1][z1][a1][b1][c1];
}

https://godbolt.org/z/G4oxsc

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。