gpt4 book ai didi

c - 通过指向第一个元素的指针访问二维数组

转载 作者:太空宇宙 更新时间:2023-11-04 03:53:24 25 4
gpt4 key购买 nike

我得到了结构

typedef struct 
{char *cells;}
Map;

并且单元格应该是指向行数组的指针(行中的每个位置都是整数)。 我不知道如何访问例如 3. 位置在 2. 行中的数字。 我盯着一些数组[3][3],但我不知道如何将它们与这个结构联系起来。 我试过了

Map nextmap;
nextmap.cells[0] = array[0][0];

但我只得到第一个数字,这很清楚。我怎样才能到达其他职位? 提前致谢。 编辑:重命名结构.. .

最佳答案

当您执行 Map nextmap; 时,您创建了一个未初始化 Map 结构。当您执行 nextmap.cells[0] = array[0][0]; 时,您取消引用(即跟随)未初始化的指针,并在它指向的随机内存中存储一​​个值。

如果你想初始化单元格结构,你可以做一些像nextmap.cells = array[0];这样简单的事情,这将导致nextmap.cells到< strong>指向数组。请注意,它不是复制内容;只是指着他们。这意味着如果您通过单元格更改值,您将修改数组中的值。

(此外,使用“new”作为变量名在 C 中是完全可以接受的,但是您可能会使阅读您的代码的任何 C++ 程序员感到困惑,因为“new”是该语言中的运算符。)

new 现在更改为有问题的 nextmap

已编辑以更正 nextmap.cells 分配中的类型不匹配。

关于c - 通过指向第一个元素的指针访问二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19057112/

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