w****h 发帖数: 212 | 1 有一段代码:
Node** List;
Node* temp1=*List;
*List=temp1;
那么,我的理解是,(*List)是一个指向Node类型的指针,temp1又是个指向Node类型
的指针,最后一句是把(*List)赋值为temp1这个指针。
不知道对不对。问题是,为什么不直接用Node* List,而用Node** List? |
p****s 发帖数: 32405 | 2 Never heard pointer of pointer?
【在 w****h 的大作中提到】 : 有一段代码: : Node** List; : Node* temp1=*List; : *List=temp1; : 那么,我的理解是,(*List)是一个指向Node类型的指针,temp1又是个指向Node类型 : 的指针,最后一句是把(*List)赋值为temp1这个指针。 : 不知道对不对。问题是,为什么不直接用Node* List,而用Node** List?
|
f*****Q 发帖数: 1912 | 3 大仙,您岂止是没学好C++,最基础的也没学明白啊! |
w****h 发帖数: 212 | 4 麻烦你指点一下,这短双指针的代码确实看不懂
【在 f*****Q 的大作中提到】 : 大仙,您岂止是没学好C++,最基础的也没学明白啊!
|
T*****9 发帖数: 2484 | 5 List是一个指向node指针(假设nodep)的指针
【在 w****h 的大作中提到】 : 有一段代码: : Node** List; : Node* temp1=*List; : *List=temp1; : 那么,我的理解是,(*List)是一个指向Node类型的指针,temp1又是个指向Node类型 : 的指针,最后一句是把(*List)赋值为temp1这个指针。 : 不知道对不对。问题是,为什么不直接用Node* List,而用Node** List?
|
T*****9 发帖数: 2484 | |
H***a 发帖数: 735 | 7 Node** List的定义是用来存放指向Node类型的指针的指针。
这段代码有两个问题:
1.第二行,temp1和*List share同一个地址,这样做是很危险的,容易导致memory leak
;而第三行完全不明白在干什么,就像我跟你说明天是端午节,你明白了以后马上跟我
说“你知道么?明天是端午节。” ...#^$^#%$@#$%$#
2.Node是你定义的一个类吧,Node** List只给了List地址,并没有开辟空间,也就是说List本身没有instantiated,内容是不确定的;第二行temp1也就跟着不确定。
【在 w****h 的大作中提到】 : 有一段代码: : Node** List; : Node* temp1=*List; : *List=temp1; : 那么,我的理解是,(*List)是一个指向Node类型的指针,temp1又是个指向Node类型 : 的指针,最后一句是把(*List)赋值为temp1这个指针。 : 不知道对不对。问题是,为什么不直接用Node* List,而用Node** List?
|