C#中指针和不安全世界的新手。我正在通过指针获取变量的内存地址,在这里和那里移动一些东西等;基本上学习。
static unsafe void M()
{
var i = 1;
var p = &i; //gets memory location of variable i here
//how do I write to location p, say a value of 100?
}
我想知道是否有办法写一个特定的位置?如果我能同时读写,那么看看会发生什么有很大帮助。
没有实际目的,只是学习。或者用C#是不可能的?
答案 0 :(得分:1)
您需要使用*
运算符取消引用指针。例如:
*p = 100;
答案 1 :(得分:1)
喜欢这个
*p = 100;
Console.WriteLine(i); // prints 100;
答案 2 :(得分:1)
你需要尊重它。
这是一个LINQPad代码段:
int i = 1;
unsafe
{
var p = &i;
*p = 100;
}
i.Dump();
按预期输出“100”。