C# 指针使用总结
C#为了类型安全,默认并不支持指针。但是也并不是说C#不支持指针,我们可以使用unsafe关键词,开启不安全代码(unsafe code)开发模式。在不安全模式下,我们可以直接操作内存,这样就可以使用指针了。在不安全模式下,CLR并不检测unsafe代码的安全,而是直接执行代码。unsafe代码的安全需要开发人员自行检测。 一、Vs2010中开启unsafe code 的方式 在方法、类、代码块中使用unsafe关键词,如: 1 unsafe static void Main(string[] args){ //代码} 2 3 unsafe 4 { 5 //代码块 6 } 然后再项目上点击鼠标右键,选择“属性”,在“生成”选项卡中选中“允许不安全代码” 二、C#可以定义为指针的类型有 sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, decimal, bool, struct(结构体),结构体中只能包括非托管类型。 三、C#指针操作符 操作符 说明 * 取值运算符 & 取址运算符 -> 通过指针处理结构体中的数据(获取或赋值) ++与– 指针增、减操作 fixed 用户暂时固定托管代码中引用类型的位置。 Stackallc 分配内存 例如分配内存 1 char* cptr =