数组 + 标量?C.

  • 本文关键字:标量 数组 python c
  • 更新时间 :
  • 英文 :


我有一个我一直在玩的程序,我偶然发现了这样的东西:

unsigned char tmp[4];
...
if (mpu_write_mem(D_1_36, 2, tmp+2))
    return -1;

哪里

int mpu_write_mem(unsigned short mem_addr, unsigned short length,
    unsigned char *data)

请原谅我的无知,但我究竟如何将 2 添加到数组中?我不太明白。我一直在尝试用 Python 制作一个程序,我一直在使用它作为参考,但我只是傻眼了,如果有人可以帮助 Python 等效的东西,那也会很有帮助。

在这种情况下,您不是在数组中添加 2,而是在 tmp 的内存地址中添加 2。在 C 中,数组存储为一组 n(数组长度)顺序内存地址。所以代码 tmp+2 意味着你在第二个位置开始数组;一个 Python 等价物是 tmp[2:]

另请注意,尽管 tmp 的长度为 4,但传递给函数的长度为 2。这是因为你开始了 2 个元素,只剩下 tmp[2] 和 tmp[3]。

相关内容

最新更新