tyepdef struct LNode* List; ==> typedef struct a* b;这句话到底啥意思?

首先,int* p;这个语句可以理解为int*是一个新的数据类型。

举一个相似的例子,一般指向整形的指针都是这样使用的: int p; //p是指向一个整型的指针。如果我们在前面使用了 typedef int Pint; 则上面的方法,可以改为:Pint p; 同样是声明一个指向整形的指针。

这样typedef struct {…}* Pstr;就不难理解了,Pstr List;就是声明了一个指向struct{…}这个结构体的结构体的指针。但是这个时候List是悬垂指针,而这种情况是不能静态分配数据的, 所以可以动态的分配一个空间来让List有所指向。c++可以这么做:p=new* NList; 没有new语句,也可以这么写:List=(Pstr)malloc(sizeof(* p));

参考http://bbs.elecfans.com/jishu_1573819_1_1.html

猜你喜欢

转载自blog.csdn.net/cwindyc/article/details/105870501