首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

用C写的数据结构实在看不懂,求一二

2013-11-20 
用C写的数据结构实在看不懂,求高手指点一二举一个最简单的例子,顺序线性表的插入元素。开头 void InserElem

用C写的数据结构实在看不懂,求高手指点一二
举一个最简单的例子,顺序线性表的插入元素。开头 void InserElem(ElemType Sqlist[],int &n,int i ElemType item)这一行表示向顺序表中第I个位置插入元素item,该顺序表长度为n,我不知道为什么这样写,学c的时候从来没见过这种格式的。还有比如 删除的时候 void dELelem (Sqlist *L,int i)什么时候L前面是指针,什么时候是地址,什么时候什么时候什么也不加。。我都混乱了,都没有个说明规定啊。 数据结构,c
[解决办法]
int &n这不是C的写法,这是C++的引用
你可以简单地理解为,int n作参数,在函数内部对n的修改不会影响传入的那个n,而int &n则会
[解决办法]

引用:
int &n这不是C的写法,这是C++的引用
你可以简单地理解为,int n作参数,在函数内部对n的修改不会影响传入的那个n,而int &n则会


也就是说,int &n这里的&符号跟C里面的取地址符号是两码事,不相关
至于void dELelem (Sqlist *L,int i)这句
如果是Sqlist L,那么作为参数传入的是一个Sqlist,你在函数里面对这个Sqlist的任何改变都不影响到外面,这显然是不符合函数的要求的
而Sqlist *L,传入的是Sqlist的指针,这样才能实现在函数内部更改外面的东西
[解决办法]
引用:
举一个最简单的例子,顺序线性表的插入元素。开头 void InserElem(ElemType Sqlist[],int &n,int i ElemType item)这一行表示向顺序表中第I个位置插入元素item,该顺序表长度为n,我不知道为什么这样写,学c的时候从来没见过这种格式的。还有比如 删除的时候 void dELelem (Sqlist *L,int i)什么时候L前面是指针,什么时候是地址,什么时候什么时候什么也不加。。我都混乱了,都没有个说明规定啊。


学c的时候从来没见过这种格式的
那就说明不是c 的程序,不符合 c 的语法

热点排行