|

楼主 |
发表于 2005-1-5 13:39:16
|
显示全部楼层
谢谢指导,你那篇文章不错,我看了,收获不小,
发现书虽然看了几遍,还是有很多地方理解的不是很清楚,在应用的时候就能发现问题,
按照你的建议,我将函数改为 QInsert(Sqlist p ,int a)/*插入一个元素*/
然后用g d b 跟踪,发现L.length仍然没有修改,在根据书上内容,函数传递参数有两种方式:1是传递数值,形参获得的是实参的拷贝;2是传地址
在QInsert(Sqlist ,int a)应该是传递数值方式,形参获得的是L的拷贝,虽然L是全局变量,但L获得的是L的拷贝,也就是局部变量,因为L..elem是一个地址,因此能够返回修改后变量,而L.length是值,也就无法返回
不知道这样的理解对不对,请大家指导!
谢谢 |
|