标题:关于while(head!=NULL)这句不知道我有没有理解对(错了勿喷)
取消只看楼主
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
结帖率:58.18%
已结贴  问题点数:20 回复次数:2 
关于while(head!=NULL)这句不知道我有没有理解对(错了勿喷)
我们为了输出链表,将head赋给t指针变量,然后while(t!=NULL)依次输出。
当时我在书上做了标记为什么不是while(*t!=NULL),当时没认真思考,直接记下了。
当指针变量指向非空时我们一直输出数据,那么 *t 才表示指针指向的空间的内容,
可这样必然不对,因为空间存储数据  是0时 还是存储数据了的,当时就这样理解的吧。

现在再来看,
指针是一个地址,指针变量是存放地址的变量。
t!=NULL,现在的问题是这里的t究竟是指针还是指针变量。
int *p,  p则是一个指针变量
t应当是指针变量,t!=NULL,即指针变量 的值 不为NULL。 即 地址存在或者说指向一个空间了  就输出。这句“指针变量指向非空时我们一直输出数据,那么 *t 才表示指针指向的空间的内容”实际上不是指向空间内容非空输出,是指向空间则输出。
那时候刚学,现在看看当时的标记有些新的感悟。

那么问题来了  什么是指针变量的值。

问:指针变量的值是地址,指针是地址。指针变量的值是指针??

头指针指向空的含义不是指向空间的内容为空,而是它并没有指向任何空间。
其实我有点糊了。。。。理解错了的话,请讨论。


再看看这本书上,写的是不是有点随意。  指针   存储下一个结点的  地址。
搜索更多相关主题的帖子: 空间 
2015-10-09 21:21
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
得分:0 
回复 3楼 pycansi
ee恩恩
2015-10-10 13:11
令狐少侠56
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:320
专家分:175
注 册:2014-4-10
得分:0 
回复 3楼 pycansi
是不是这样的。

NULL是一个符号常量,代表整数0。
它已经在stdio.h头文件中对NULL进行了定义,#define NULL 0。
p=NULL,它使p指向地址为0的单元。系统保证使该单元不作它用。
也就是说。指向空就是指向一个单元但单元并不存储数据
2015-10-10 13:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-458048-1-1.html




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

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