| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 23421 人关注过本帖, 12 人收藏
标题:[原创] 三言两语,妙说《指针》。
只看楼主 加入收藏
young
Rank: 3Rank: 3
等 级:论坛游侠
威 望:2
帖 子:223
专家分:160
注 册:2004-9-5
收藏
得分:0 

我看印度人的代码,非常喜欢用全局变量,导致程序非常难读,我就问为什么??人就说用了全局变量系统会稳定很多,不容易出现死机


如果你爱C语言,请你爱指针; 如果你爱指针,请你爱指针的指针;
2007-08-07 09:39
星星鱼虾蟹
Rank: 1
等 级:新手上路
帖 子:191
专家分:0
注 册:2007-6-2
收藏
得分:0 
LS没发错地方吧...

2007-08-07 09:47
xu66zhen
Rank: 1
等 级:新手上路
帖 子:21
专家分:0
注 册:2007-7-23
收藏
得分:0 
我这一周对指针十分敏感,因为我也正在学习指针呢!呵呵...感觉指针容易理解却难很快的灵活应用,但也十分实用!对楼主表示支持!!!

2007-08-07 11:04
czl
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2007-7-1
收藏
得分:0 
认同一楼的看法
2007-08-07 13:38
snake7
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-5-16
收藏
得分:0 
我杂越听越糊涂了阿?
2007-08-07 13:46
福尔摩斯
Rank: 5Rank: 5
等 级:贵宾
威 望:12
帖 子:4011
专家分:370
注 册:2006-8-15
收藏
得分:0 
形象的说,大家都知道“邮箱”与“邮箱里的信件”的关系吧!其实就是“地址”(指针)与“地址的内容”(指针指向的内容)的关系!

指针的概念更像一个邮递员!


至于老K说的:指针不是地址,指什变量的值是一个地址.

解释下:

大家还记得高中数学中一个概念吗:向量(物理称 矢量)

向量有双要素:方向 和 模长

同样,指针 是 向量 的计算机化(就像是 数组 是 数列 的计算机化一样)

当定义一个 指针变量 的时候,计算机分配给它空间,用这个空间来存放地址

我们把一个值赋给一个变量,那么这个空间存放的值就是这个变量的值

同样道理,我们把一个地址(无符号整型)赋给一个指针变量,那么这个空间存放的地址就是这个指针变量的值

而这个概念就是 方向 !

而模长的概念就是 *p !



也许还有人听不明白,我用C语言程序来说明:

我们常常利用 指针 来改变被传递到自定义函数的值(实参),让 改变的值 返回主函数!

而这个 改变的值 是指针所指向的 地址上 的 改变的值 (红色部分代码)

而 不是 改变了 指针的指向 (蓝色部分代码)!


#include<stdio.h>
int main()
{
int *p,*q,a=1,b=2;
int change(int *,int *);
p=&a;q=&b;
change(p,q);
printf("%d,%d\n",*p,*q);
getch();
return 0;
}
int change(int *x,int *y)
{
int *z;
z=x;x=y;y=z;//这里改变了指针的地址,但是结果却没有改变,因为指针的值是地址,是不会被传递回主函数的
}


PS:

int change(int *x,int *y)
{
int z;
z=*x;*x=*y;*y=z;//它改变了指针所指向的值,但是没有改变指针的地址!
}


注意蓝色部分如果把 *z 改成 z (或者红色部分 z 改成 *z )都是不可以的!

因为int *z;那么z的空间就是用来存放地址,虽然你也可以认为这样可以传递,但是如果是聪明的编译器就会警告,不聪明的编译器就会报错

所以还是请大家规范书写!

[此贴子已经被作者于2007-8-7 15:24:42编辑过]


自我放逐。。。
2007-08-07 15:00
I喜欢c
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:64
帖 子:1749
专家分:0
注 册:2007-3-2
收藏
得分:0 
..................

支持一下(LS)...

 我是指针,却丢失了目标地址!          我是循环,却缺少了结束条件!      我是函数,却没有人来调用!   
2007-08-07 15:10
星星鱼虾蟹
Rank: 1
等 级:新手上路
帖 子:191
专家分:0
注 册:2007-6-2
收藏
得分:0 
还没学高数啊...

2007-08-07 15:57
Flei
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-6-25
收藏
得分:0 
回复:(hackerjiang)[原创] 三言两语,妙说《指针》...

看的头都晕了~@~ ~#~~!!!
还是不懂!!!
郁闷!!!

2007-08-07 23:21
hackerjiang
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:地球
等 级:版主
威 望:3
帖 子:780
专家分:111
注 册:2007-4-27
收藏
得分:0 

``````````


(づ ̄ 3 ̄)づ
2007-08-10 12:09
快速回复:[原创] 三言两语,妙说《指针》。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020005 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved