gpt4 book ai didi

c - 如何在运行时为结构数组赋值?

转载 作者:行者123 更新时间:2023-12-04 03:08:10 26 4
gpt4 key购买 nike

我声明了一个结构数组,并在编译时初始化了它。

现在,出于单元测试的目的,我想从一个可以从 main() 和单元测试中调用的函数对其进行初始化。

出于某种原因,可能涉及 16 小时的马拉松式编码和精疲力尽,我想不通。

最佳答案

所以假设你有

struct foo {
int a;
int b;
};

struct foo foo_array[5] = {
{ 0, 0 }, { 1, 1 }, { 2, 2 }
};


int main() {
memcpy(foo_array, some_stuff, sizeof(foo_array)); // should work
...

或者你可以:

int main() {
int i;
for ( i = 0; i < sizeof(foo_array)/sizeof(struct foo); i++ ) {
init(&foo_array[i]);
}
}

但是如果不查看您的代码,就很难说出是什么导致了问题...我敢肯定这可能是您忽略的非常微不足道的事情,因为您已经累了并且已经工作了 16 个小时。

关于c - 如何在运行时为结构数组赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8277138/

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