在计算机编程中,解引用和引用的符号约定主要是出于历史原因和符号的可用性考虑。虽然不同的编程语言可能使用不同的符号,但在一些主要的编程语言中,解引用通常使用 * 符号,而引用通常使用 & 符号。解引用(Dereferencing)使用 * 符号的原因:* 符号在数学和计算机领域通常表示乘法。将其用于解引用操作可以形象地表示从指针指向的地址中取出数据。早期的编程语言(如C和C++)选择了 * 符号作为解引用符号,可能部分是因为符号在键盘上容易键入,并且在打字机时代也很常见。引用(Referencing)使用 & 符号的原因:& 符号在数学中通常表示取地址操作(取变量的引用或地址)。这与引用的概念相符,因为引用实际上是一个变量的地址别名。类似于解引用,早期的编程语言选择了 & 符号作为取地址操作的符号,可能也是因为其易于键入和使用。需要注意的是,不同的编程语言可能会有不同的符号约定,尤其是一些不使用指针的高级编程语言。例如,在Python中,没有直接的指针操作,因此没有类似的解引用和引用的符号。在不同的编程环境中,符号的选择可能会因设计偏好、历史和语法规则而有所不同。gpt3.5
我理解,就是保持语义和使用的一致性引用的含义就是将一个变量关联到另一个变量的地址上,所以使用取地址符 &;解引用用*,从地址获取变量,这与指针的使用是一致的。如果要问“取地址为何要用 &”,“指针为什么使用 * ”,我确实不知道。
在计算机编程中,解引用和引用的符号约定主要是出于历史原因和符号的可用性考虑。虽然不同的编程语言可能使用不同的符号,但在一些主要的编程语言中,解引用通常使用
*
符号,而引用通常使用&
符号。解引用(Dereferencing)使用
*
符号的原因:*
符号在数学和计算机领域通常表示乘法。将其用于解引用操作可以形象地表示从指针指向的地址中取出数据。*
符号作为解引用符号,可能部分是因为符号在键盘上容易键入,并且在打字机时代也很常见。引用(Referencing)使用
&
符号的原因:&
符号在数学中通常表示取地址操作(取变量的引用或地址)。这与引用的概念相符,因为引用实际上是一个变量的地址别名。&
符号作为取地址操作的符号,可能也是因为其易于键入和使用。需要注意的是,不同的编程语言可能会有不同的符号约定,尤其是一些不使用指针的高级编程语言。例如,在Python中,没有直接的指针操作,因此没有类似的解引用和引用的符号。在不同的编程环境中,符号的选择可能会因设计偏好、历史和语法规则而有所不同。