【发布时间】:2017-05-23 20:50:46
【问题描述】:
我将指针作为参数传递给函数。在函数内部我改变了它->它已经改变了。但之后的输出与函数调用之前相同。指针没有改变。怎么了?
void GetFrom(PVOID lpBuffer){
lpBuffer = malloc(12);
memset(lpBuffer, 0, 12);
printf("%p",pointer); // 0000028D46DECE50
}
PVOID pointer = 0x0;
printf("%p",pointer); // 000000C2628FEFE4
GetFromMap(pointer);
printf("%p",pointer); // 000000C2628FEFE4
在调试中,我看到函数内部指针的值发生了变化。
【问题讨论】:
-
看看这个答案是否有帮助:stackoverflow.com/a/4426487/6610379