我在其中一篇msdn文章中看到了这段C#代码:
using System; class Test
{
public static unsafe void Main()
{
int* fib = stackalloc int[100];
int* p = fib;
*p++ = *p++ = 1;
for (int i=2; i<100; ++i, ++p)
*p = p[-1] + p[-2];
for (int i=0; i<10; ++i)
Console.WriteLine (fib[i]);
}
}
我对指针还很陌生。我理解大部分代码,但如果有人能帮助我更详细地理解上面代码中的这一行,那就太好了:
*p++ = *p++ = 1
最佳答案
这只是一种懒惰的(其他人会说是惯用的)写法
*p++ = 1;
*p++ = *p++;
或者,也许更好理解:
*p=1;
p++;
*p=1;
p++;
关于c# - C# 中的指针递增和链接优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3222600/