gpt4 book ai didi

c - memcpy 段错误

转载 作者:太空宇宙 更新时间:2023-11-04 00:22:06 24 4
gpt4 key购买 nike

我真的很难理解为什么下面的代码不起作用并导致段错误。

Car *newCar;
Car *oldCar;
newCar->engineSize = 1500;
memcpy(newCar, oldCar, sizeof(Car));

我显然在这里遗漏了一些非常基本的东西,但不知道它是什么。任何帮助将不胜感激。

谢谢

最佳答案

你需要为它分配内存。

Car* newCar = malloc(sizeof(Car));
Car* oldCar = malloc(sizeof(Car));
...
free(oldCar);
free(newCar);

如果你不需要在别处使用指针,你可以使用堆栈分配。

Car newCar;
Car oldCar;
newCar.engineSize = 1500;
memcpy(&newCar, &oldCar, sizeof(newCar));

关于c - memcpy 段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8805452/

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