C アプリケーションを Python に移植しようとしていますが、多くのポインタがあります。これらは等しいですか:
obj->position = (float*) malloc(obj->totalItems * obj->xyz * sizeof (float));
for (i = 0; i < components; i++) {
obj->comps[i].position = obj->position + obj->pOffset; // Pointer arithmetic
obj->pOffset += obj->comps[i].items * obj->xyz;
}
と
for i in range(self.totalItems * self.xyz):
self.position.append(0.0)
for i in range(self.components):
self.comps[i].position = self.position[self.pOffset:] # Position was a C pointer
self.pOffset += self.comps[i].items * self.xyz
Python オブジェクトが参照によって渡されることを知っているので、次のことを考えています。
self.comps[N].position = [1,2,3,4]
以下の一部を変更します。
self.position[]