在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
如果想在c#中使用指针,首先对项目进行配置:在解决方案资源管理器中右击项目名选择属性(或在项目菜单中选择consoleApplication属性(consoleApplication为项名)),在生成选项卡中 选中“允许不安全代码”,如下图: 然后将有关指针,地址的操作放在unsafe语句块中。使用unsafe关键字是来告诉编译器下面的代码是不安全的。 unsafe关键字的使用: (1)放在函数前,修饰函数,说明在函数内部或函数的形参涉及到指针操作
不安全上下文的范围从参数列表扩展到方法的结尾,因此指针作为函数的参数时须使用unsafe关键字 unsafe static void FastCopy ( byte* ps, byte* pd, int count ) {...} (2)将有关指针的操作放在由unsafe声明的不安全块中 unsafe { // Unsafe context: can use pointers here. }
示例:
关键字fixed简介: fixed语句只能出现在不安全的上下文中。 C# 编译器只允许在 fixed 语句中分配指向托管变量的指针,无法修改在 fixed 语句中初始化的指针 fixed 语句禁止垃圾回收器重定位可移动的变量。 当你在语句或函数之前使用fixed时,你是在告诉.Net平台的垃圾回收器,在这个语句或函数执行完毕前,不得回收其所占的内存空间。 示例: (1)
(2)用数组或字符串的地址初始化指针: fixed (int* p = arr) ... // equivalent to p = &arr[0] fixed (char* p = str) ... // equivalent to p = &str[0] (3)只要指针的类型相同,就可以初始化多个指针: fixed (byte* ps = srcarray,pd = dstarray) {...} 要初始化不同类型的指针,只需嵌套 fixed 语句: fixed (int* p1 = &p.x)
原文转自:http://blog.csdn.net/susan19890313/article/details/7365996 原作者为 susan19890313. 请尊重原作者版权
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论