所以我知道下面的代码可以使用'='并且更容易和更好,但是我想更好地理解更复杂的应用程序的memcpy。当我使用“ptr = b”时,我得到了“1”的输出,这正是我所期望的。在使用memcpy时,它会出现段错误。为什么memcpy seg错误?
#include <string.h>
#include <iostream>
using namespace std;
int main()
{
int a = 1;
int *b = &a;
void* ptr;
memcpy(ptr, b, sizeof(b));
int *c = (int *)ptr;
cout<<*c<<endl;
return 0;
}
*“但我想对于更复杂的应用更好地了解memcpy的” *。实际上,在C++中几乎没有理由使用'memcpy'。 – MikeMB
嗯,我刚开始了一项新工作,并试图理解他们已有的代码,并且他们使用了一些无效指针(我昨天从未见过)的memcpy,所以我试图了解它是如何工作的。 –