代码如下,使用 gcc 4.9.1 编译:
这是一个简单的顺序线性表实现,主要有两个个疑问
1. 为什么创建的线性表 L 在主函数里的地址与传给函数后的地址不同?如图所示
2. 此代码的 ListInsert 函数并不能够实现插入功能,虽然能够将数据项都插入到 L.data 中,但是无法改写 L.length 的值,例如在此代码中的 main 函数中分别执行了三条插入语句,但是打印的时候 L.length 为 0。 而如果在打印函数 PrintList 中将 L.length 值改为 3,则可将插入的数据正常打印出来。
这是一个简单的顺序线性表实现,主要有两个个疑问
1. 为什么创建的线性表 L 在主函数里的地址与传给函数后的地址不同?如图所示
2. 此代码的 ListInsert 函数并不能够实现插入功能,虽然能够将数据项都插入到 L.data 中,但是无法改写 L.length 的值,例如在此代码中的 main 函数中分别执行了三条插入语句,但是打印的时候 L.length 为 0。 而如果在打印函数 PrintList 中将 L.length 值改为 3,则可将插入的数据正常打印出来。