更新:2007 年 11 月
使用增量和减量运算符 ++ 和 -- 可以将 pointer-type* 类型的指针的位置改变
复制代码 | |
---|---|
++p; P++; --p; p--; |
增量和减量运算符可应用于除 void* 类型以外的任何类型的指针。
对 pointer-type 类型的指针应用增量运算符的效果是将指针变量中包含的地址增加
对 pointer-type 类型的指针应用减量运算符的效果是从指针变量中包含的地址减去 sizeof (pointer-type)。
当运算溢出指针范围时,不会产生异常,实际结果取决于具体实现。
示例
此示例通过将指针增加 int 的大小来遍历一个数组。对于每一步,此示例都显示数组元素的地址和内容。
C# | 复制代码 |
---|---|
// compile with: /unsafe
|
C# | 复制代码 |
---|---|
class IncrDecr { unsafe static void Main() { int[] numbers = {0,1,2,3,4}; // Assign the array address to the pointer: fixed (int* p1 = numbers) { // Step through the array elements: for(int* p2=p1; p2<p1+numbers.Length; p2++) { System.Console.WriteLine("Value:{0} @ Address:{1}", *p2, (long)p2); } } } } |
复制代码 | |
---|---|
Value:0 @ Address:12860272 Value:1 @ Address:12860276 Value:2 @ Address:12860280 Value:3 @ Address:12860284 Value:4 @ Address:12860288 |