gpt4 book ai didi

c++ - 无法从 int[][] 转换为 int*

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:04:51 24 4
gpt4 key购买 nike

我有一个 3x3 数组,我正在尝试创建一个指向它的指针,但我一直在获取这个数组,这是怎么回事?

我必须如何定义指针?我已经尝试了 [] 和 * 的所有组合。

这有可能吗?

int tempSec[3][3];

int* pTemp = tempSec;

最佳答案

你可以做 int *pTemp = &tempSec[0][0];

如果您想将 3x3 数组视为 int*,您应该将其声明为 int[9],并使用 tempSec[3*x+y] 而不是 tempSec[x][y]

或者,也许您想要的是 int (*pTemp)[3] = tempSec?那将是指向 tempSec 的第一个元素的指针,第一个元素本身就是一个数组。

您实际上可以获取一个指向二维数组的指针:

int (*pTemp)[3][3] = &tempSex;

然后你可以像这样使用它:

(*pTemp)[1][2] = 12;

这几乎肯定不是你想要的,但在你的评论中你确实要求它......

关于c++ - 无法从 int[][] 转换为 int*,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2682990/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com