私は関数にパラメータとしてポインタを渡します。機能の中で私はそれを変更する - >それは変更されました。しかし、出力は関数呼び出しの前と同じです。ポインタは変更されていません。どうしましたか?関数に渡されるポインタの値が変更されないのはなぜですか?
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
デバッグでは、関数内でポインタの値が変更されていることがわかりました。
この回答が役立つかどうかを確認してください。https://stackoverflow.com/a/4426487/6610379 –