我在一个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++;