函数的传出参数设计

尽量使用函数返回值来传出参数,没办法的时候使用传出参数,使用的时候一定要穿入的是指针类型,然后传出的时候要函数本地指针取地址之后传出:


#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";
}

posted @ 2023-04-21 00:59  铜锣湾陈昊男  阅读(6)  评论(0)    收藏  举报