1

我有以下代码:

int dst[5];
int src[100];

// assign value to array src
memcpy(&dst[0], &src[0], sizeof(int) * 100);

在这种情况下会发生什么?只会将前 5 个元素复制到数组中dst吗?或者程序会崩溃?

4

1 回答 1

10

这会调用未定义的行为。什么事情都可能发生。

在实践中,可能会发生的情况是外部的内存dst将被覆盖,丢弃其他东西,从而破坏程序的状态。最好的情况是这会导致您的程序崩溃。

于 2013-06-14T17:09:56.093 回答