gpt4 book ai didi

c - 通过引用将一个 vector (数组)的值设置为另一个 vector (数组)的值

转载 作者:行者123 更新时间:2023-11-30 21:06:57 25 4
gpt4 key购买 nike

本质上,我正在学习 C 代码,目前的一项作业是,我必须在宇宙中创建一个 3 维空间,其中包含任意数量的小行星,通过重力相互作用。

此时,我尝试使用 vector P ({1,2,3}) 设置 vector A (bodies[i].position),如下所示。尽管当代码运行时,它只将 vector A 的第一个值设置为 P 的第一个值 - 其余的保持为 0。

对 VectorSet 的调用位于主函数中(以及数组 p),为了方便起见,我只是将其设置为这种格式。

   typedef struct {
double vector[VECTOR_DIM];
} Vector;

typedef struct {
double mass;
Vector position;
Vector velocity;
Vector accel;
float colour[3];
} Object;

p[VECTOR_DIM] = {1,2,3};
VectorSet(&bodies[1].position, p);

void VectorSet(Vector *a, double vec[]) {
int i;
for (i = 0; i < VECTOR_DIM; i++) {
*(double *)(a + 8 * i) = *(double *)(vec + 8 * i);
}
}

最佳答案

从指针算术中删除 8,只留下 i

关于c - 通过引用将一个 vector (数组)的值设置为另一个 vector (数组)的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46249300/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com