使用free()释放它后使用指针

azp*_*are 5 c pointers segmentation-fault

我遇到以下类型的代码问题:

int* myPointer1 = malloc(50 * sizeof(int));
int* myPointer2 = malloc(50 * sizeof(int));
free(myPointer1);
myPointer1 = myPointer2;
myPointer1[0] = 3;
Run Code Online (Sandbox Code Playgroud)

我遇到了分段错误.有什么问题?

小智 3

问题不在这段代码中。您发布的代码片段似乎是正确的,并且单独工作正常。

  • 我没有说它是正确的,因为它有效——我说它似乎是正确的(例如,它不包含明显的未定义行为),*并且*它有效(例如,我没有报告分段错误 azphare) 。 (2认同)