解引用运算符是计算机编程中用来检索位于特定内存地址的值的符号。该运算符通常在源代码中用星号表示,应用于指向内存地址或指针的变量之前。有时称为间接运算符,它也可以在声明或初始化变量时使用,以指示变量是指向数据...
解引用运算符是计算机编程中用来检索位于特定内存地址的值的符号。该运算符通常在源代码中用星号表示,应用于指向内存地址或指针的变量之前。有时称为间接运算符,它也可以在声明或初始化变量时使用,以指示变量是指向数据类型而不是数据类型本身的指针。在确定操作顺序时,取消引用运算符的优先级几乎高于所有标准的数学运算符

手持电脑的人了解操作员的工作,理解计算机程序中的数据类型是如何工作的很重要。程序中的变量可以保存一个值。很多时候,它只是一个整数或一个字符串。有时,它可能是指向整数值的内存地址。保存内存地址的变量称为指针当需要分配、修改或检索存储在指针所包含的内存地址的数据时,必须使用解引用运算符,在不取消引用指针变量的情况下对其执行操作,则该操作将在内存地址上执行,而不是在它所指向的变量上执行。有时,对内存地址执行的算术操作可以提高效率,例如在单步执行数组的情况下,这就是此功能存在的原因在指针上使用解引用运算符时,所有操作都将对存储在内存位置的数据执行,而不是对内存地址本身执行。在最初声明一个新变量时,也可以使用运算符。将运算符放在变量类型和变量名,它将指示新变量应该是指向数据类型的指针,而不仅仅是该类型的实例。以这种方式创建的变量需要使用某种类型的内存分配函数初始化,因为程序正在使用的内存管理器需要将指针设置为未使用的内存位置。在使用取消引用运算符时,需要避免一些危险。最值得注意的是试图取消对a的引用指针为null或未定义。指针在技术上没有内存地址,因此将生成不同的错误或异常,从而停止程序的执行。存在不会导致错误的取消引用运算符的空安全版本,但这些运算符具有不同的语法。