Chinaunix首页 | 论坛 | 博客
  • 博客访问: 163077
  • 博文数量: 25
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 319
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-12 21:27
文章分类

全部博文(25)

文章存档

2015年(2)

2014年(1)

2013年(22)

我的朋友

分类: C/C++

2013-06-05 13:16:33

很多C语言新手对指针表示很苦恼,也有很多人就是因为指针而对C语言失去了学习的兴趣。那么指针到底是什么?为什么指针会让那么多初学者如此苦恼呢?甚至直接让那些计算机专业的学生因此而放弃从事编程呢?下面就让我以自己那粗浅的认识谈谈吧。

首先,说到指针我们就会立即想到地址,地址又是什么呢?地址就是变量保存的位置,也就是变量的家的门牌号。我们要获取变量的值那就必须到保存这个变量的地址去查看,就像我们要知道一个人的具体家境,我们就需要到他家去看看,那就必须要到知道他家的门牌号,这样找到了他家,我们就能亲眼看到他的情况。这就是地址。

那么指针和地址到底什么关系呢?地址就是位置,而指针除了是位置还说明了这个位置的类型,比如表明这个地址保存的是什么类型的数据。

其实指针并不恐怖,其实任何变量都是存放在某一地址处的,也就是说其实指针就是给了我们门牌号,而一般非指针变量是给了门牌里对应的人家的内部情况。所以说我们不必去害怕指针,因为它只是门牌号而已。

对于如下指针变量的定义Int *p;其实就是给了一个门牌板子p,板子p上并没有写门牌号具体是多少,但是告诉了我们这是一个要写门牌号的板子,而且告诉了我们这个板子是为中国人(int假如代表中国)制造的,将会挂在一户中国人家的门前。而如下语句int *pint ap=&a;这个就是给p板子上写了门牌号了,门牌号就是a的地址。建立一栋别墅,别墅的门牌号就是a的地址,然后有户中国人入住了,就这么简单。

这就是简单的指针变量。



阅读(1224) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~