结构体知识点

基本概念

结构体是一种自定义变量类型,类似于枚举需要自己定义。

它是数据和函数的集合。

在结构体中,可以声明各种变量和方法。

基本语法

1.结构体一般写在namespace语句块中。

2.结构体关键字struct

struct 自定义结构体名
{
    //第一部分
    //变量

    //第二部分
    //结构体(可选)

    //第三部分
    //函数
}

注意:结构体名字,我们的规范是帕斯卡命名法。

实例

//表现学生数据的结构体
struct Student
{
    //变量
    //结构体声明的变量,不能直接初始化
    //变量类型可以写任意类型,包括结构体,但是不能是自己的结构体,可以是其他
    //Student s;
    //年龄
    int age;
    //性别
    bool sex;
    //学号
    int number;
    //姓名
    string name;

    //构造函数

    //函数方法
    //表现这个数据结构的行为

    //注意在结构体中的方法,目前不需要加static关键字
    void Speak()
    {
        //函数中可以直接使用结构体内部声明的变量。
        Console.WriteLine($"我的名字是{name},我今年{age}岁");
    }
    //可以根据需求,写无数个函数。
}

访问修饰符

修饰结构体中变量和方法,是否能够被外部使用。

public公共的,可以被外部访问。

private私有的,只能在内容使用。

默认不写为private

//表现学生数据的结构体
struct Student
{
    //变量
    //结构体声明的变量,不能直接初始化
    //变量类型可以写任意类型,包括结构体,但是不能是自己的结构体,可以是其他
    //Student s;
    //年龄
    public int age;
    //性别
    public bool sex;
    //学号
    public int number;
    //姓名
    public string name;

    //构造函数

    //函数方法
    //表现这个数据结构的行为

    //注意在结构体中的方法,目前不需要加static关键字
    public void Speak()
    {
        //函数中可以直接使用结构体内部声明的变量。
        Console.WriteLine($"我的名字是{name},我今年{age}岁");
    }
    //可以根据需求,写无数个函数。
}

结构体的使用

//变量类型 变量名
Student s1;
s1.age = 18;
s1.sex=false;
s1.number = 1;
s1.name = "李华";
s1.Speak();

结构体的构造函数

1.没有返回值

2.函数名必须和结构体相同

3.必须有参数

4.如果声明了构造函数,那么必须在其中对所有变量数据初始化。

//表现学生数据的结构体
struct Student
{
    //变量
    //结构体声明的变量,不能直接初始化
    //变量类型可以写任意类型,包括结构体,但是不能是自己的结构体,可以是其他
    //Student s;
    //年龄
    public int age;
    //性别
    public bool sex;
    //学号
    public int number;
    //姓名
    public string name;

    //构造函数,一般是用于在外面方便初始化的
    public Student(int age, bool sex, int number, string name)
    {
        //新的关键字——this
        //代表自己
        this.age = age;
        this.sex = sex;
        this.number = number;
        this.name = name;
    }
    
    //函数方法
    //表现这个数据结构的行为

    //注意在结构体中的方法,目前不需要加static关键字
    public void Speak()
    {
        //函数中可以直接使用结构体内部声明的变量。
        Console.WriteLine($"我的名字是{name},我今年{age}岁");
    }
    //可以根据需求,写无数个函数。
}
Student s2 = new Student(18, true, 2, "张三");
s2.Speak();

小结:

1.概念:结构体(struct)是变量和函数的集合,用来表示特定的数据集合。

2.访问修饰符:public和private用来修饰变量和方法的,public外部可以调用,private内部用,不写的话默认就是private。

3.构造函数:没有返回值,函数名和结构体相同,可以重载,主要是帮助我们快速初始化结构提对象的。

注意:
(1)在结构体中声明的变量,不能初始化,只能在外部或者在函数处赋值(初始化)

(2)在结构体中声明的函数,不用加static的

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不背完3500个考研英语词汇不改名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值