poo*_*ank 5 c pointers addressof memory-address address-operator
是否可以在内存中为变量分配您想要的地址?
我试图这样做,但我收到错误消息“左值需要作为赋值的左操作数”。
int main() {
int i = 10;
&i = 7200;
printf("i=%d address=%u", i, &i);
}
Run Code Online (Sandbox Code Playgroud)
我的方法有什么问题?在 C 中有什么方法可以将我们想要的地址分配给变量吗?
小智 5
不直接。你可以这样做: int* i = 7200; .. 然后使用 i (即 *i = 10) 但你很可能会崩溃。这仅在进行低级开发时才有意义 - 设备驱动程序等......具有已知内存地址。