所以我知道下面的代碼可以使用'='並且更容易和更好,但是我想更好地理解更復雜的應用程序的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,所以我試圖瞭解它是如何工作的。 –