C# 指针学习笔记之指针类型
2023-09-14 09:03:18 时间
大学的时候学过C++、C,最近工作也不是很忙,就想起看看C#中的指针,看看、回忆一下啊,指针的用法,以下学习笔记摘自msdn:指针类型
在不安全的上下文中,类型可以是指针类型以及值类型或引用类型。指针类型声明具有下列形式之一:指针类型不继承 object,并且指针类型与 object 之间不存在转换。此外,装箱和取消装箱不支持指针。但是,允许在不同指针类型之间以及指针类型与整型之间进行转换。 当在同一个声明中声明多个指针时,* 仅与基础类型一起使用,而不是作为每个指针名称的前缀。例如:
指针不能指向引用或包含引用的结构,因为即使有指针指向对象引用,该对象引用也可能会被执行垃圾回收。GC 并不注意是否有任何类型的指针指向对象。 myType* 类型的指针变量的值是 myType 类型的变量的地址。下面是指针类型声明的示例:
指针间接寻址运算符 * 可用于访问位于指针变量所指向的位置的内容。例如,对于下面的声明,
不能对 void* 类型的指针应用间接寻址运算符。但是,可以使用强制转换将 void 指针转换为其他指针类型,反之亦然。 指针可以为 null。如果将间接寻址运算符应用于 null 指针,则会导致由实现定义的行为。 注意,在方法之间传递指针会导致未定义的行为。示例包括通过 Out 或 Ref 参数向局部变量返回指针或作为函数结果向局部变量返回指针。如果将指针设置在固定的块中,它所指向的变量可能不再是固定的。 下表列出可在不安全的上下文中针对指针执行的运算符和语句:
c++学习笔记之指针 1、声明指针 如果声明多个指针,每个都必须加*,如int *aPtr, *bPtr 变量名最好以Ptr结尾,表明是指针变量 把指针初始化NULL和0是等价的
相关文章
- 《C#高级编程》学习笔记------C#中的事件和委托
- 编写高质量代码改善C#程序的157个建议[为类型输出格式化字符串、实现浅拷贝和深拷贝、用dynamic来优化反射]
- C#反射实用技术笔记
- C# 鸡尾酒排序(双冒泡排序、搅拌排序或涟漪排序)
- C# 指针学习笔记之fixed 语句
- C# WinForm多线程开发(三) Control.Invoke
- C# 项目开发笔记
- [转] 基于C#的波形显示控件的实现
- 改善C#程序的157建议——建议42学习笔记:使用泛型参数兼容泛型接口的不可变性。
- JavaScript学习笔记之JavaScript调用C#编写的COM组件
- CSharp(C#)语言_第三章(方法)
- C#学习笔记(九)——集合、比较和转换
- C#学习笔记(五)——函数
- C#学习笔记(三)——流程控制
- C# MemoryCache学习笔记
- C#.Net正则表达式学习笔记