|
hackerjiang
高级会员
帖子:537 |
1#
大中
小发表于 2007-8-6 21:56 只看该作者
[原创] 三言两语,妙说《指针》。*/ --------------------------------------------------------------------------------------
*/ 出自: 编程中国 http://www.bc-cn.net */ 作者: hackerjiang E-mail:hackerjiang@qq.com QQ:298218699 */ 时间: 2007-8-6 编程论坛首发 */ 声明: 尊重作者劳动,转载请保留本段文字 */ -------------------------------------------------------------------------------------- 看了前面仁兄写的“指针其实就这么简单”,我的手就痒痒了,呵呵。我也来现丑! 首先,因为是“三言两语”,所以那些“指针是C语言的灵魂”的废话我就不多说了,呵呵。 前言:如果想简单一点,只看彩色即可,黑色一般是扩充,感兴趣的朋友可以看一看。 入正题: 指针是什么?——指针是一种数据类型 形象的说,大家都知道“邮箱”与“邮箱里的信件”的关系吧!其实就是“地址”(指针)与“地址的内容”(指针指向的内容)的关系! 如图:(耐烦的看,不耐烦的跳过) (自己画的,有点粗糙,别怪我。) 图中描述了6个内存单元,它们的编号分别是从1000到1005的6个值,其中编号1000到1005就是相应的内存单元的地址。 数据存放在地址所标识的内存单元中。地址1000到1005多对应的内存单元就是用来存放数据的。 继续:把内存单元想像成一个个“邮箱”,而内存单元的数据就好比是“邮箱中的信件”,内存单元的编号(地址)就好比是“邮箱的编号”。 (插一小段,耐烦的看,不耐烦的跳过:如果在程序中定义一个变量,那么编译是系统就会为变量分配一定数量的内存单元。一般系统会为字符型的变量分配1个字节的储存空间,为整型变量分配2个字节的储存空间,浮点型的4个字节) 总结:1`地址起到一个指向作用。2`地址中还隐含有这个变量的类型信息。 其实,“指针”就是“地址”。通过“指针”可以找到以它为地址的内存单元。一个变量的地址称为该变量的指针。 超级大推理: ![]() ——中心:一个变量的地址(指针)也是一个值。 →专门用来存放变量地址的变量,称为“指针变量”。 →所以“指针变量”的值是“指针”(一个变量的地址)。 指针的运算:指针就地址。C语言中的地址是无符整数。 对于指针变量,允许的主要运算有:1`指针变量的赋值。2`指针与整数之间的加减运算。3`指针之间的比较。4`指针之间的加减运算。 呵呵```不知写得好不好。如果大家支持,我将写续集,下一集应该是写“指针与一维数组”吧。呵呵``` 附:回帖是一种美德。向回帖的同志致敬! ![]() [此贴子已经被作者于2007-8-6 21:57:20编辑过] 搜索更多相关主题的帖子: 指针 |
|
TOP |














