我正在尝试将一个简单的 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
}
}
有人可以告诉我如何在 python 中完成同样的事情吗? (完全没看懂的部分是“z += 3”)
我知道 python 中没有指针。 (至少不像 C)但问题是我不知道 C 指针到底做了什么,因此无法在 python 中实现这一点。
最佳答案
Python 中类似的代码片段可能是:
def somename(z):
i = 0
while (....):
a += z[i]
b += z[i+1]
c += z[i+2]
i += 3
在 C 中,z
的工作方式有点像数组索引,只是它从数组的起始地址开始,而不是从 0 开始。Python 中没有类似的概念,因此您需要显式使用列表索引。
(....)
中的内容也需要修改。我会把它留给你作为练习,因为它在问题中没有具体说明。
关于python - Python 中的 C 指针算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5574159/