数据结构问题

我现在在学数据结构,是C语言版的,遇到一些问题.
比如说他的练习册给我一个算法,要我补充,我按他打的输进C++里,但是却运行不了.
像L.elem,L.length,他提示说.elem,.length左边没定义,但是我用L->elem,L->length就可以,这两个有什么区别吗?那为什么练习册里给出的却是L.elem...
还有一个,就是int Load_Sq(SqList&L)
这个也是题目给出的,但是也运行不了,把&改成*就可以,这到底是为什么?难道是传说中的伪代码?

L.elem和L->elem是不一样的, L->elem与(*L).elem是等价的
L.elem中的L是个对象, 或者说是变量;而L->elem中的L是个指针,他们是不同的

还有就是另一个int Load_Sq(SqList&L)的问题是这样的:
在C中参数SqList&L表示传入的是L的地址, 应该向指针那样使用
而在C++中表示传入的是L的引用(ps:C语言中没有"引用"的概念),引用是向变量一样使用的
你可以直接把&改成*就可以了,或是用TurboC来编译
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-10-27
在c语言中是使用L->elem这样的写法的,L.elem的写法一般是在pascal语言中;

*L传的是地址,&L传的是值吧~放在函数中作为参数传递一般用的是地址的传递吧~(这个问题我不是很清楚,如果没记错的话是这样的)
相似回答