gpt4 book ai didi

c - 二维数组指针语法 - C

转载 作者:行者123 更新时间:2023-11-30 15:35:28 32 4
gpt4 key购买 nike

我是 C 语言新手,我们的教授给我们布置了一项性能作业,要求我们操作一些二维数组。我试图找出如何在两个数组之间正确移动值。我相信使用 *(array*i+j) 可能有助于加快速度,但我无法编译它。我知道 array[i][j] 通常是可以接受的,但我需要让它尽可能快。问题行看起来像

out[x] = *( *(in+i) + j);

我收到的错误是“从 int 类型分配给 int[10000] 类型时,类型不兼容。我应该为出入做出指示吗?我不允许更改实现

define N 10000

/* The input matrix */

long in[N][N];

/* The output matrix */
long out[N][N];

我确信答案是显而易见的,但我的任何改变都没有奏效。我只想更改 out[x] 或 out+x 处的值。

最佳答案

试试这个

out[column][row] = *( *(in+i) + j);

您忘记为您分配的数组的第二个维度建立索引。

关于c - 二维数组指针语法 - C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22899887/

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