函数的传出参数设计
尽量使用函数返回值来传出参数,没办法的时候使用传出参数,使用的时候一定要穿入的是指针类型,然后传出的时候要函数本地指针取地址之后传出:
#include <cstdlib>
#include <iostream>
using namespace std;
struct node{
int value;
node* next;
node(int value):value(value),next(NULL){}
};
void createlist(node* head, int nums){
srand(time(0));
node* head1 = new node(-1);
node* cur = head1;
for(int i = 0; i < nums; i++) {
node* newnode = new node(rand()%100+1);
cur->next = newnode;
cur = newnode;
}
*head = *head1;//传出参数的设计,还有一个本地的指针然后取地址传值给传出指针
}
void printlist(node* l){
node* cur = l;
while (cur!= NULL) {
cout<<cur->value<<endl;
cur=cur->next;
}
}
int main() {
node* l = new node(9);
createlist(l, 10);
printlist(l);
cout<<l->value<<endl;
std::cout << "Hello World!\n";
}

浙公网安备 33010602011771号