奇妙的C语言

相信你非常熟悉Struct的用法,但是你真的知道怎么用它么?

我们这里复习一下

声明

有两种声明Struct的方法,需要注意的是,你确定知道了每种的后果

C的列表声明法

看代码

struct node{
    int nxt,var;
};


int main(){
    node A;          //正常
    node B = {3,5};  //正常
    
    return 0;
}

C++的构造函数法

struct node{
    node(int a,int b){
        this->nxt = a;
        this->var = b;
    }
    int nxt,var;
};


int main(){
    node A(1,2);    //正常
    node B = {1,2}; //正常
    node C;         //错误
    
    return 0;
}

为什么在这个main()里面的C的初始化是错的呢?
原因是你没有声明这种情况。将struct添加这种情况的构造函数即可

struct node{
    node(){
        
    };
    node(int a,int b){
        this->nxt = a;
        this->var = b;
    };
    int nxt,var;
};

这样你就能编译过了。

赋值

这里面没什么好说的,注意一点:
C语言里面的等号是复制,不是传引用

如何传引用呢?声明成引用(T&)就好了
Last modification:March 6th, 2020 at 03:08 pm
Compared with money, your comment could inspire me more.
相较于钱财,你的留言更能激发我创作的灵感