|
发表于 2012-7-25 13:46:53
|
显示全部楼层
1. 引用是C++的语法,参数里的&代表的就是引用的意思,C没有引用的概念,Keil中的C编译器估计不行
引用变量的别名。
2. void Insert(node * &head,char keyWord,char newdata)的意思猜测:
Insert里会表头是否存在,如果不存在,则需要给表头赋值。第一次调用Insert的话,估计是传递了个空的head进来,如:
node* table_head = NULL;
Insert(table_head, 1, 1);第一次调用,函数会将table_head赋值的.
如果是void Insert(node *head,char keyWord,char newdata)
函数里给head赋值的话,只是在函数内部的head变量被改变了,外部的table_head并没有变化.
3. node*&head的意义等价于node**head
写成void Insert(node **head,char keyWord,char newdata),内部给head赋值为
(*head) = new node.
不知说的对不对,lz听懂没?
引用的目的是给外部传递进来的head指针赋值. |
|