0算法基础学算法 干活插曲篇 结构体

  今天要讲的内容非常简单,甚至还谈不上一个标准的算法,但是就我个人认为,结构体当然是很重要的,你会发现,很多时候,c++自带的功能其实都是会让程序变简单,话不多说,进入正题~~~

  一,结构体的定义

  结构体和函数表面上有那么几分的相似,但是他们的功能是截然不同的,如果说叫我分个类的话,我会把结构体(struct)分到数据类型,而把函数(function)分到方法。  

  结构体(struct):是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构,它是一种复合数据类型,结构类型

  一个结构体,他需要先定义,然后再调用,比如说我要定义一个包含有一天的日期的结构体

#include<bits/stdc++.h>
using namespace std;
struct Node{
    int day,month,year;
};
int main(){

    return 0;
}

  其中,struct,是关键字,就像int、string一样,他就是定义结构体的关键,而后面我写的Node,仅仅只是这个结构体的名字,如果你想要,或者有必要,你完全可以把它改成kk,或者num

  所以,定义一个结构体的标准格式如下

struct 结构体名字{    //结构体不需要圆括号 
    结构体内你要的数据类型 变量名; 
  //这是成员变量 };
//分号至关重要,千万不能掉

  在c++当中,结构体不仅可以定义成员变量,像我前面的day month year这些成员变量以外,还可以定义一个成员函数

#include<bits/stdc++.h>
using namespace std;
struct Node{
    int day,month,year;
    void str()
    {
        cout<<day<<month<<year;
    } 
};
int main(){

    return 0;
}

  如上,我不仅定义了变量,还定义了函数,在这个成员函数里,每当我调用它时,他都会把它这一级的day month year的值输出,值得注意的是,这个仅仅是c++的功能,在c语言中结构体是不能定义函数的

  二,结构体的调用

  定义了结构体后,下一步就是调用结构体,结构体有自己独特的调用规则,比如还是以我上面的程序为例,如果我要使用一个结构体,我们需要一个结构体变量,变量的关键字取决于结构体的关键字

#include<bits/stdc++.h>
using namespace std;
struct Node{
    int day,month,year;
    void str()
    {
        cout<<day<<month<<year;
    } 
};
Node a,b;//两个结构体变量 
int main(){
    a.day=10;
    a.month=10;
    a.year=1010;//往结构体a里面存入了数值 
    b.day=20;
    b.month=20;
    b.year=2020;//往结构体b里面存入了数值 
    return 0;
}

  有的人可能有点不明白了,a和b到底是干啥的呀,你可以把它先一个标签,a.day和b.day完全是两个不同的变量,他们八竿子打不着关系,结构体一个最重要的作用就是封装,而封装往往都会有正面反馈,就是程序会更简单

 

 

有什么疑惑的地方欢迎留言,或者加群 https://jq.qq.com/?_wv=1027&k=poupnxU3 去@球君,觉得这一篇番外篇还不错的也请点个赞👍和关注➕,我在评论区和QQ群等你,ps:qq群中有很多的资源,也很欢迎大家加群后分享心得,分享资料,谢谢

 

posted @ 2020-08-22 23:26  球君  阅读(140)  评论(0编辑  收藏  举报
View Code