关于动态链表的一个简单的问题!!

typedef struct LNode
{
int data;
struct LNode *next;
}LNode,*LinkList;

//这里的LNode *,和LinkList有什么区别呢??

这里LinkList是LNode的一个指针类型的别名。这样,以后你定义LNode类型的指针时,既可以用:
LNode *pNode;
也可以用:
LinkList pNode;
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-10-04
LNode是LNode型结构体变量,*Linklist是LNode型结构体指针变量。追问

问的是LNode *和LinkList

追答

你看清楚,那是“LNode , *LinkList;”而非“LNode* , LinkList;”。

追问

知道啊,但是我问的是“LNode *和LinkList”,他们的意思是不是一样的呀??可以告诉我吗??谢谢

第2个回答  2011-10-05
这里是定义了一个结构体struct LNode,那么紧跟着{}后LNode,*LinkList,可以看做是这个结构体的2个实体或别名。那么,LNode*, 指的就是指向LNode结构体类型的指针,LinkList跟(LNode*)是一样的。如:LNode* p; LinkList q; p跟q都是指向结构体LNode的指针。

初学链表,不知如何建立动态链表,请高手帮忙分析一下下面的种种错误,谢...
首先create后面要带括号。才是函数调用。第二,感觉你在create的函数里的while循环怪怪的。。head的next直接指向自己。。感觉有点问题。带头结点的链表,head一般是一个空数据,不做实际使用。

链表中头指针与头节点的问题,求大神指教! 如果建立一个结构体 typedef...
首先,链表是不需要申请空间的。因为链表本来就是动态的。但是,每一个*head指针都必须指向一个空的结点,作为头节点。这是因为,当在链表中插入或者删除某一个结点时,如果没有头节点,那么就必须多写两个算法(在第一个结点前插入一个,尾部插入一个,中间插入一个),多了一个头节点,就可以把算...

C++中带头节点的动态链表,头节点指针内存分配出错
如果没有first = new Node的话,就代表first没有指向一段内存,所以你要引用其中的东西肯定会崩溃,指针必须指向内存,不然就是所谓的野指针,而p指向first,意思是p和first指向同一段内存,其实还是没内存不是?所以出错了,记住一点就是指针必须有指向的内存 ...

调用函数实现动态建立链表,函数结束链表还在吗,会不会被释放掉了...
如果你的链表每个节点都是通过malloc出来的内存,那么你要你的程序还在,链表是不会自动释放的,除非你手动调用free函数释放掉内存

静态链表和动态链表的区别
静态链表和动态链表的区别: 静态链表和动态链表是线性表链式存储结构的两种不同的表示方式。 1、静态链表是用类似于数组方法实现的,是顺序的存储结构,在物理地址上是连续的,而且需要预先分配地址空间大小。所以静态链表的初始长度一般是固定的,在做插入和删除操作时不需要移动元素,仅需修改指针。 2、动态链表是用内存...

今天上课学的建立动态链表,哪位大神帮偶看看?输不出结果!
楼主 你的程序是可以正常建立链表并输出的 只不过你程序中输入数据的两条语句 格式如下 scanf("%ld,%f",&p1->num,&p1->score);所以必须完整输入 数据1,数据2 (注意这里的逗号是 英文输入环境下的且 必不可少的)数据输入最后以 0,0 结束 测试数据:123,90.5 124,95 125,89 126,91.5...

51单片机 假如动态链表,为什么要为data,而不能为xdata,而且只能访问...
你居然要在那里建链表,那怎么行呢!C51应该有动态分配的,因为动态分配是编译器(库代码)玩的把戏,另外P1和P2是51的寄存器,最好不要给变量起这样的名字!另外你这个链表结点大约占用40字节,栈寄存器40以上,Data空间只够放6个结点的数据,去掉全局变量连堆栈都没有了, 你这个程序能正确才怪呢?

我建立了一个动态链表,可是只能输入一组数据,接着运行后的显示框就...
of the students:\\n");q=creat();while(q->next!=NULL){ printf("%ld,%f\\n",q->num,q->score);q=q->next;} } 你的scanf函数输入个格式有问题,%f一直接受的是无效值,还有while循环打印输出时你的q指针没有向下移指针,还有在输出时不用指针,所以不用取地址,只用变量就可以输出了 ...

C++ 动态链表.exe 中的 0x0017156a 处未处理的异常: 0xC0000005: 读取...
这个异常是内存读写异常,简单的说就是访问了不该访问的内存譬如如下c++代码 (int *) 0 = 0;马上就会引发这个异常。你要自己检测自己的指针操作的代码。一般都是因为指针操作不当造成的。 学链表的时候经常碰到这个错误。

关于c的动态链表,其中代码p2=p1不是整体赋值吗,还是只是数据域的赋值不...
这里p2,p1都是结构指针,其值就是结构变量的地址,或者说是某个链表节点的地址,p2=p1,就是让p2指向p1所指向的那个节点,也就是2和指针指向同一个节点,而节点本身数据不变。

相似回答
大家正在搜