什么是指针?

def*_*eta 5 language-features pointers programming-languages

请参阅:了解指针


在许多C风格的语言和一些像Fortran这样的旧语言中,可以使用指针.

作为一个只使用基本,javascript和actionscript编程的人,你能告诉我Pointer是什么,以及它最有用的是什么?

谢谢!

Dav*_*nds 8

这篇维基百科文章将为您提供有关指针的详细信息:

在计算机科学中,指针是编程语言数据类型,其值直接指向(或"指向")使用其地址存储在计算机存储器中其他地方的另一个值.获取或请求指针引用的值称为取消引用指针.指针是一般参考数据类型的简单实现(尽管它与C++中称为引用的工具完全不同).指向数据的指针提高了重复操作的性能,例如遍历字符串和树结构,指向函数的指针用于面向对象编程中的绑定方法和运行时链接到动态链接库(DLL).


Dou*_*yle 6

指针是包含另一个变量地址的变量.这允许您间接引用另一个变量.例如,在C中:

// x is an integer variable
int x = 5;
// xpointer is a variable that references (points to) integer variables
int *xpointer;
// We store the address (& operator) of x into xpointer.
xpointer = &x;
// We use the dereferencing operator (*) to say that we want to work with
// the variable that xpointer references
*xpointer = 7;
if (5 == x) {
    // Not true
} else if (7 == x) {
    // True since we used xpointer to modify x
}
Run Code Online (Sandbox Code Playgroud)


Jos*_*ons 4

指针并不像听起来那么难。正如其他人已经说过的,它们是保存其他变量地址的变量。假设我想告诉你去我家的路线。我不会给你我房子的照片,或者我房子的比例模型;我只想给你地址。你可以从中推断出你需要什么。

同样,许多语言也区分按值传递和按引用传递。本质上,这意味着每次我需要引用它时,我都会传递整个对象吗?或者,我会直接给出它的地址,以便其他人可以推断他们需要什么吗?

大多数现代语言通过确定指针何时有用并为您进行优化来隐藏这种复杂性。但是,如果您知道自己在做什么,则手动指针管理在某些情况下仍然有用。


归档时间:

查看次数:

1102 次

最近记录:

12 年,4 月 前