一个小问题,路过大侠帮忙
我们数据结构的老师不教单链表,说是用指针太麻烦,用数组也能够实现,没办法只好上来求教.
代码如下,看严蔚敏的书里面差不多是这样写的,可编译不了,主要是那个"init_ysf(ysf*&h)"理解不了...
- C/C++ code
#include<stdio.h>#include<malloc.h>#define LEN sizeof(ysf)struct ysf{ int num; int len; struct ysf *next;};typedef struct ysf ysf,*hysf;void init_ysf(hysf&h){ h=(hysf*)malloc(LEN); h->len=1; h->next=NULL;}int main(){ hysf head; init_ysf(head); printf("%d",head->len);}[解决办法]
相当于二重指针,主要是为了改变指针本身的值,而非改变指针所指地址的值(当然也可以改变指针所指的值),我写过一篇博文,你可以看看~
http://blog.csdn.net/guankle/article/details/7072817
[解决办法]
刚开始看这本书时也挺迷惑的,这里&表示引用,C++中的用法,马虎点说就跟指针效果差不多吧,跟指针有区别的