间接算子

作者: Lewis Jackson
创建日期: 8 可能 2021
更新日期: 1 七月 2024
Anonim
花1668买的Spark3.0全套教程分享给大家 | 通俗易懂,2021最新版,大数据入门必备教程
视频: 花1668买的Spark3.0全套教程分享给大家 | 通俗易懂,2021最新版,大数据入门必备教程

内容

定义-间接运算符是什么意思?

就C#而言,间接运算符是用于获取指针指向的变量的值的运算符。指向变量的指针提供对存储在其内存地址中的变量值的间接访问,而间接运算符取消引用该指针,并在该内存位置返回变量的值。间接运算符是由符号(*)表示的一元运算符。

可以在指向整数的指针,指向整数的一维数组,指向char的指针以及指向未知类型的指针中使用间接运算符。

间接运算符也称为取消引用运算符。

Microsoft Azure和Microsoft Cloud简介在本指南中,您将了解什么是云计算,以及Microsoft Azure如何帮助您从云迁移和运行业务。

Techopedia解释了间接运算符

(*)符号用于声明指针类型和执行指针间接操作,而“ address-of”运算符()返回变量的地址。因此,间接运算符和地址运算符彼此相反。

C#允许仅在不安全区域中使用指针,这意味着公共语言运行时(CLR)未验证该区域内代码的安全性。在不安全区域中,允许间接操作符读取和写入指针。以下C#语句说明了间接运算符的用法:
  • 整数a = 1,b; //第1行
  • int * pInt =&a; //第2行
  • b = * pInt; //第3行
在上面的第一行中,a和b是整数变量,并且为a赋值为1。在第2行中,a的地址存储在整数指针pInt(第2行)中。第3行中使用了取消引用运算符,以将pInt指向的地址上的值分配给整数变量b。

应该使用间接运算符取消引用有效指针,该指针的地址与其指向的类型对齐,以避免在运行时发生未定义的行为。不应将其应用于void指针或非指针类型的表达式,以避免编译器错误。但是,在将空指针转换为正确的指针类型之后,可以使用间接运算符。

在单个语句中声明多个指针时,间接操作符应仅使用基础类型写入一次,并且对于每个指针名称都不应重复。与C和C ++不同,间接操作符在C#中是分布式的。将间接运算符应用于空指针时,将导致实现定义的行为。由于此操作符是在不安全的条件下使用的,因此在编译过程中,应先使用关键字unsafe和/ unsafe选项。 这个定义是用C#编写的