gpt4 book ai didi

c - 从 C/Objective C 中的二维数组中获取行数据

转载 作者:行者123 更新时间:2023-12-02 09:32:19 25 4
gpt4 key购买 nike

这是一个非常简单的问题,但我找不到有效的答案。

采用以下二维数组:int grid[4][4]。我可以用整数填充它,这样在视觉上,它可能看起来像这样:

1,0,0,5,0 0,0,0,6,7 3,0,0,0,7 > 2,0,0,0,9 4,0,0,2,0(每个段一个新行)

现在,如果我只想将一行数据作为标准数组给出怎么办?我认为这样做的方法是:grid[0],这会给我 1,0,0,5,0。

但是,这似乎不起作用。谁能告诉我如何提取数据行?这是一个代码示例

int grid[4][4];

//Add in some numbers, e.g.
grid[0][3] = 5;

//Get the first row
int* row1 = grid[0]; //I'm not sure about this

例如,此示例应将“row1”设置为“0,0,0,5,0”

我感觉我在这里做了一些非常错误的事情......

没有错误消息,但它只是给了“row1”一个随机的整数字符串,这绝对是不正确的。

最佳答案

请记住,在声明为 int grid[4][4] 的数组中,您只能存储四批,每批四个元素(总共十六个)。

你的数组,{ 1,0,0,5,0 }, { 0,0,0,6,7 }, { 3,0,0,0,7 }, { 2,0, 0,0,9 }, { 4,0,0,2,0 } 实际上是一个 int [5][5]

你所做的事情没有错; row1 将是指向 grid[0] 第一项的指针。如果您想打印每个元素,这是一个好的开始......

在清晰的时刻,当我提到“循环”这个词时,您可能会意识到...然后您需要一个“循环”来循环遍历该行的每个元素!

int *row = grid[0];
for (size_t x = 0; x < sizeof grid[0] / sizeof grid[0][0]; x++) {
printf("%d, ", row[x]);
}
putchar('\n');

关于c - 从 C/Objective C 中的二维数组中获取行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31624653/

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