指针的两种实参传递方式———二维指针和指针引用#include<iostream>usingnamespacestd;#definelensizeof(link)typedefstructlink{intdata;link*next;}link;voidpush(link*end,intt){link*p1=(link*)malloc(len);p1->data=t;end->next=p1;end=p1;end->next=NULL;}intmain(){link*head=(link*)malloc(len);head->data=1;//为了方便处理,初始化link*end;end=head;push(end,2);push(end,3);push(end,4);link*p=head;do{cout<<p->data<<endl;p=p->next;}while(p!=NULL);return0;}/*输出14*///上面的作法并不能实现函数对主函数中指针的真正操作,而只是将指针指向的地址传递过去,要实现上述目的,就要使用二维指针;#include<iostream>usingnamespacestd;#definelensizeof(link)typedefstructlink{intdata;link*next;}link;voidpush(link**end,intt){link*p1=(link*)malloc(len);p1->data=t;(*end)->next=p1;(*end)=p1;(*end)->next=NULL;}intmain(){link*head=(link*)malloc(len);head->data=1;//为了方便处理,初始化link*end;end=head;push(&end,2);//使用&end传递的是指针变量地址,注意不是指针变量中存储的地址push(&end,3);push(&end,4);link*p=head;do{cout<<p->data<<endl;p=p->next;}while(p!=NULL);return0;}/*输出1234*///在C++里面还有更简单的写法,那就是使用引用;
指针传递方法总结 来自淘豆网www.taodocs.com转载请标明出处.