.


:




:

































 

 

 

 


pi , .




, , , . , .

, , . , float double. void*.

, , , (ip) (fp). .

// .

Using System;

class PtrArithDemo {

unsafe static void Main() { int x; int i; double d;

int* ip = &i; double* fp = &d;

Console.WriteLine("int double\n");

for(x=0; x < 10; x++) {

Console.WriteLine((uint) (ip) + " " + (uint) (fp)); ip++; fp++;

}

}

}

. , .

Int double

1243464 1243468 1243468 1243476 1243472 1243484 1243476 1243492 1243480 1243500

1243484 1243508 1243488 1243516 1243492 1243524 1243496 1243532 1243500 1243540

, . , int 4 , double 8 , .

, ==, < >. , - . , pi 2 , , , . pi 2 , , .

C# . , fixed . .

/* . */

Using System;

class PtrArray {

unsafe static void Main() { int[] nums = new int[10];

fixed(int* p = &nums[0], p2 = nums) { if(p == p2)

Console.WriteLine(" p p2 " +

" .");

}

}

}

.

2

, &nums[0]

Nums

. , , .

, . . .

// .

Using System;

class PtrlndexDemo {

unsafe static void Main() { int[] nums = new int [10];

// .

Console.WriteLine(" ."); fixed (int* p = nums) { for(int i=0; i < 10; i++)

p[i] = i; //

forjint i=0; i < 10; i++)

Console.WriteLine("p[{0}]: {1} ", i, p[i]);

}

// .

Console.WriteLine(" " +

" ."); fixed (int* = nums) { for(int i=0; i < 10; i++)

* (p+i) = i; //

for(int i=0; i < 10; i++)

Console.WriteLine("*(p+{0}): {1} ", i, *(p+i));

}

}

}





:


: 2016-12-03; !; : 333 |


:

:

, .
==> ...

1523 - | 1371 -


© 2015-2024 lektsii.org - -

: 0.012 .