关于while(head!=NULL)这句不知道我有没有理解对(错了勿喷)
我们为了输出链表,将head赋给t指针变量,然后while(t!=NULL)依次输出。当时我在书上做了标记为什么不是while(*t!=NULL),当时没认真思考,直接记下了。
当指针变量指向非空时我们一直输出数据,那么 *t 才表示指针指向的空间的内容,
可这样必然不对,因为空间存储数据 是0时 还是存储数据了的,当时就这样理解的吧。
现在再来看,
指针是一个地址,指针变量是存放地址的变量。
t!=NULL,现在的问题是这里的t究竟是指针还是指针变量。
int *p, p则是一个指针变量
t应当是指针变量,t!=NULL,即指针变量 的值 不为NULL。 即 地址存在或者说指向一个空间了 就输出。这句“指针变量指向非空时我们一直输出数据,那么 *t 才表示指针指向的空间的内容”实际上不是指向空间内容非空输出,是指向空间则输出。
那时候刚学,现在看看当时的标记有些新的感悟。
那么问题来了 什么是指针变量的值。
问:指针变量的值是地址,指针是地址。指针变量的值是指针??
头指针指向空的含义不是指向空间的内容为空,而是它并没有指向任何空间。
其实我有点糊了。。。。理解错了的话,请讨论。
再看看这本书上,写的是不是有点随意。 指针 存储下一个结点的 地址。