我在理解一段代码中使用的语法时遇到麻烦

布罗科人2

我已经看了一段时间了,我对这段代码可以做什么有一些想法,但是我不确定我是否正确理解了这段代码的语法。

代码遍历二维无符号字符数组,除非数组中的点表示,否则它的意思是用0填充数组。底部或侧面。如果是这种情况,请使用9代替数组中的点。

我感到困惑的部分是语句(pField[y*fieldWidth + x] =),我相信这是一个条件语句,我理解之后的逻辑,我的问题专门针对此条件,如果可能的话,应如何使用if语句解释它?条件语句,它是什么样的语句?


pField = new unsigned char[fieldWidth*fieldHeight]; // Create play field buffer

    for (int x = 0; x < fieldWidth; x++) // Board Boundary

        for (int y = 0; y < fieldHeight; y++)

            pField[y*fieldWidth + x] = (x == 0 || x == fieldWidth - 1 || y == fieldHeight - 1) ? 9 : 0;
雷米·勒博

该代码使用二维数组,该二维数组在内存中分配为一维数组。该表达式y*fieldWidth + x是根据一对2D索引来计算1D数组索引。

该数组代表一个矩形。该代码将a分配给9表示矩形的左,右和下边缘(但不包括上边缘)0的一维数组元素,并在一维数组元素中代表矩形的其余部分。

例如,一个5x5矩形如下所示:

9 0 0 0 9 
9 0 0 0 9 
9 0 0 0 9 
9 0 0 0 9 
9 9 9 9 9

相应的一维数组元素如下所示:

       x =  0 1 2 3 4 | 0 1 2 3 4 | 0 1 2 3 4 | 0 1 2 3 4 | 0 1 2 3 4
       y =  0 0 0 0 0 | 1 1 1 1 1 | 2 2 2 2 2 | 3 3 3 3 3 | 4 4 4 4 4 
            ---------------------------------------------------------
pField[] =  9 0 0 0 9   9 0 0 0 9   9 0 0 0 9   9 0 0 0 9   9 9 9 9 9

?:可以使用如下if语句重写三元运算符

int value;
if (x == 0 || x == fieldWidth - 1 || y == fieldHeight - 1)
    value = 9;
else
    value = 0;

pField[y*fieldWidth + x] = value;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我在理解特定语法时遇到麻烦

来自分类Dev

我在理解ExceptionError代码的一部分时遇到了麻烦

来自分类Dev

我在理解Cookie时遇到了很多麻烦,我的作业要在一个小时内完成

来自分类Dev

翻译一段代码以列出理解语法

来自分类Dev

在理解中间件时遇到一些麻烦

来自分类Dev

我在理解IBM程序时遇到麻烦

来自分类Dev

我在设置一段JavaScript代码作为背景时遇到问题

来自分类Dev

在理解此SQL语法时遇到问题

来自分类Dev

我在理解PhotoView的getDisplayRect()实际返回值时遇到了麻烦(构建android照片裁剪工具)

来自分类Dev

我在理解DOM时遇到问题

来自分类Dev

我在理解A *算法(Python)时遇到问题

来自分类Dev

我在理解泛型时遇到困难

来自分类Dev

理解一段代码的 Kotlin 问题

来自分类Dev

在理解和使用双指针时遇到问题

来自分类Dev

我在理解 AVX shuffle 内在函数如何为 8 位工作时遇到了一些问题

来自分类Dev

理解c语言中的一行代码时遇到麻烦

来自分类Dev

使用PHPunit测试代码时遇到麻烦

来自分类Dev

我在Excel中使用宏遇到麻烦

来自分类Dev

我在使用BaseAdapter时遇到麻烦

来自分类Dev

我在代码中打开切换按钮时遇到了一些麻烦

来自分类Dev

一段时间后执行代码而不在Python中使用睡眠吗?

来自分类Dev

使用 Visual Studio SDK,我将如何折叠一段代码?

来自分类Dev

在ggplot中使用stat_function时着色曲线的一段

来自分类Dev

在php中单击按钮时触发一段代码

来自分类Dev

延迟一段代码

来自分类Dev

在LINQPad中使用Process.Start()执行“ svn log”时遇到一些麻烦

来自分类Dev

在C#中使用FileStreams删除文件时遇到一些麻烦

来自分类Dev

在理解中使用不同的单子

来自分类Dev

在理解JXLoginPane示例周围的框架时遇到的问题

Related 相关文章

  1. 1

    我在理解特定语法时遇到麻烦

  2. 2

    我在理解ExceptionError代码的一部分时遇到了麻烦

  3. 3

    我在理解Cookie时遇到了很多麻烦,我的作业要在一个小时内完成

  4. 4

    翻译一段代码以列出理解语法

  5. 5

    在理解中间件时遇到一些麻烦

  6. 6

    我在理解IBM程序时遇到麻烦

  7. 7

    我在设置一段JavaScript代码作为背景时遇到问题

  8. 8

    在理解此SQL语法时遇到问题

  9. 9

    我在理解PhotoView的getDisplayRect()实际返回值时遇到了麻烦(构建android照片裁剪工具)

  10. 10

    我在理解DOM时遇到问题

  11. 11

    我在理解A *算法(Python)时遇到问题

  12. 12

    我在理解泛型时遇到困难

  13. 13

    理解一段代码的 Kotlin 问题

  14. 14

    在理解和使用双指针时遇到问题

  15. 15

    我在理解 AVX shuffle 内在函数如何为 8 位工作时遇到了一些问题

  16. 16

    理解c语言中的一行代码时遇到麻烦

  17. 17

    使用PHPunit测试代码时遇到麻烦

  18. 18

    我在Excel中使用宏遇到麻烦

  19. 19

    我在使用BaseAdapter时遇到麻烦

  20. 20

    我在代码中打开切换按钮时遇到了一些麻烦

  21. 21

    一段时间后执行代码而不在Python中使用睡眠吗?

  22. 22

    使用 Visual Studio SDK,我将如何折叠一段代码?

  23. 23

    在ggplot中使用stat_function时着色曲线的一段

  24. 24

    在php中单击按钮时触发一段代码

  25. 25

    延迟一段代码

  26. 26

    在LINQPad中使用Process.Start()执行“ svn log”时遇到一些麻烦

  27. 27

    在C#中使用FileStreams删除文件时遇到一些麻烦

  28. 28

    在理解中使用不同的单子

  29. 29

    在理解JXLoginPane示例周围的框架时遇到的问题

热门标签

归档