在C/Objective C中从2D阵列中获取行中的数据



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

取以下2D阵列: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]

你所做的并不是错误的;CCD_ 11将是指向CCD_ 12的第一项的指针。如果你想打印每个元素,那是一个好的开始。。。

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

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

相关内容

  • 没有找到相关文章

最新更新