eym*_*men 4 c python arrays math pointers
我正在尝试将一个简单的C程序转换为Python,但由于我对C一无所知,而对Python有点了解,这对我来说很难.
我坚持使用C指针.
有一个函数接受unsigned long int指针并将其值添加到while循环中的某些变量:
uint32_t somename(const uint32_t *z) {
while(....) {
a += z[0]
b += z[1]
c += z[2]
z += 3
}
}
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我如何在python中完成同样的事情吗?(我根本不理解的部分是"z + = 3")
我知道python中没有指针.(至少不像C)但问题是我不知道C指针究竟做了什么,因此不能在python中实现这一点.
Gre*_*ill 10
Python中类似的代码片段可能是:
def somename(z):
i = 0
while (....):
a += z[i]
b += z[i+1]
c += z[i+2]
i += 3
Run Code Online (Sandbox Code Playgroud)
在C中,z工作类似于数组索引,除了它从数组开头的任何地址开始,而不是从0开始.在Python中没有类似的概念,因此您需要显式使用列表索引.
内部的任何东西(....)都需要修改.我将把它作为练习留给你,因为它在这个问题中没有说明.