指针到底是怎么回事?
请详细讲一下,指针的用法和原理,谢谢! 问题点数:20、回复次数:12Top
1 楼ychao(ychao)回复于 2001-11-17 16:28:14 得分 0
指针保存某个地址
可能指向一个变量,也可能指向一段代码Top
2 楼mis98ZB(Effective Typer)回复于 2001-11-17 16:29:03 得分 0
指针是用来保存地址的一种变量Top
3 楼giantzz(平庸无能的政府)回复于 2001-11-17 16:32:56 得分 20
在计算机中,所有的数据都是存放在存储器中的。 一般把存储
器中的一个字节称为一个内存单元, 不同的数据类型所占用的内存
单元数不等,如整型量占2个单元,字符量占1个单元等.为了正确地
访问这些内存单元, 必须为每个内
存单元编上号。 根据一个内存单元的编号即可准确地找到该内存单
元。内存单元的编号也叫做地址。 既然根据内存单元的编号或地址
就可以找到所需的内存单元,所以通常也把这个地址称为指针。 内
存单元的指针和内存单元的内容是两个不同的概念。 可以用一个通
俗的例子来说明它们之间的关系。我们到银行去存取款时, 银行工
作人员将根据我们的帐号去找我们的存款单, 找到之后在存单上写
入存款、取款的金额。在这里,帐号就是存单的指针, 存款数是存
单的内容。对于一个内存单元来说,单元的地址即为指针, 其中存
放的数据才是该单元的内容。在C语言中, 允许用一个变量来存放
指针,这种变量称为指针变量。因此, 一个指针变量的值就是某个
内存单元的地址或称为某内存单元的指针。图中,设有字符变量C,
其内容为“K”(ASCII码为十进制数 75),C占用了011A号单元(地址
用十六进数表示)。设有指针变量P,内容为011A, 这种情况我们称
为P指向变量C,或说P是指向变量C的指针。 严格地说,一个指针是
一个地址, 是一个常量。而一个指针变量却可以被赋予不同的指针
值,是变量。 但在常把指针变量简称为指针。为了避免混淆,我们
中约定:“指针”是指地址, 是常量,“指针变量”是指取值为地
址的变量。 定义指针的目的是为了通过指针去访问内存单元。
Top
4 楼darkay(火凤凰)回复于 2001-11-17 16:34:02 得分 0
你时刻把记住指针是一个内存的地址就可以掌握整个精髓啦,慢慢来吧!Top
5 楼giantzz(平庸无能的政府)回复于 2001-11-17 16:40:34 得分 0
如果你还不明白,那你可以找一本汇编语言的书,只须看第一章(基础),相信你会看下去的。Top
6 楼loyali(loyali)回复于 2001-11-17 16:50:54 得分 0
找个例子,实践一下。在看书,用书中的语言去理解。这就OKTop
7 楼forever_chang(寒冬月夜裸奔狂)回复于 2001-11-17 17:00:13 得分 0
指针也可看作一种变量,只不过存储的是内存的地址而已,近指针一般占两个单元(64k以内),远指针一般占个单元4(64k以外).(记住者一条,曾经有一次面试的时候被考官问过)通过指针进行操作可大大加快程序运行的速度.Top
8 楼huanshilang(幻十郎)回复于 2001-11-17 18:20:12 得分 0
如果你还不明白可以看看书 上面写的很清楚Top
9 楼xiaoniaoleyuan(半桶水)回复于 2001-11-17 19:44:26 得分 0
同意楼上giantzz(朕)的,讲的很好!!Top
10 楼yljg(有脸见鬼)回复于 2001-11-17 23:17:50 得分 0
giantzz(朕)!不错!!Top
11 楼missdeer(思鹿)回复于 2001-11-18 09:32:36 得分 0
讲得很详细啊Top
12 楼lb14981()回复于 2001-11-18 16:33:20 得分 0
地址的地址Top




