网站对齐原则,城乡住房建设部官网查询,吉林省建设信息网电话,wordpress多页面主题前言
随着函数的讲解完成#xff0c;我想你已经初步有了写一些复杂逻辑功能的能力#xff0c;但是我们会发现其实在我们大部分实际开发情况中#xff0c;很多我们需要写的变量可能不只有一个属性。
他可能有很多变量#xff0c;那这时候我们如果要把这些变量集中到一个东…前言
随着函数的讲解完成我想你已经初步有了写一些复杂逻辑功能的能力但是我们会发现其实在我们大部分实际开发情况中很多我们需要写的变量可能不只有一个属性。
他可能有很多变量那这时候我们如果要把这些变量集中到一个东西身上就需要结构体这个特殊的数据类型。
结构体是一种在编程语言中用来组织和存储相关数据的数据类型。它的历史可以追溯到20世纪60年代早期在那个时候编程语言的数据类型常常是原始的无法直接表示复杂的数据结构。
1960年代的Fortran语言是第一个引入结构体概念的编程语言。在Fortran中结构体被称为“记录”record它由一系列字段组成每个字段都有自己的名称和类型。记录可以用于组织和存储相关的数据使得程序变得更加灵活和可读。
C语言是在20世纪70年代早期引入结构体的编程语言之一。C语言的结构体与Fortran的记录类似它也是由一系列字段组成的数据类型。C语言的结构体被广泛应用于数据结构、函数参数和返回值等方面。
随着时间的推移结构体逐渐在其他编程语言中得到了广泛应用和支持。在面向对象编程语言中结构体通常被称为“类”或“对象”并具有更强大的功能和概念。
总的来说结构体的历史可以追溯到20世纪60年代它是为了解决编程语言中数据组织和存储的问题而引入的。结构体通过定义一系列字段可以将相关的数据组织在一起提高程序的可读性和灵活性。
c#中博主也会进行类和结构体的区别的讲解不过在此之前我们先来了解到底结构体是什么。
概念
结构体是一种自定义变量类型类似枚举需要自己定义
它是数据和函数的结合在结构体中可以声明各种变量和方法我们可以将他们看做一个整体。
基本语法
注意
结构体一般写在namespace里结构体的关键字struct
sturct 自定义结构体名帕斯卡命名法
{//变量不能直接初始化。变量类型随便包括结构体但是不能是自己的结构体//构造函数//函数方法表示这个数据结构的行为在结构体中的方法不需要加static
} 具体实例
下面是一个使用C#编写的学生成绩结构体
简单实现了输入名字和分数并将二者打印出来的效果。
using System;struct StudentGrade
{public string name;public int score;public void DisplayGrade(){Console.WriteLine(学生姓名 name);Console.WriteLine(学生成绩 score);}
}class Program
{static void Main(string[] args){StudentGrade student;Console.Write(请输入学生姓名);student.name Console.ReadLine();Console.Write(请输入学生成绩);student.score Convert.ToInt32(Console.ReadLine());Console.WriteLine(\n学生信息如下);student.DisplayGrade();Console.ReadLine();}
}我们实际情况可能会更复杂但是这里只是给你展示一下结构体的功能所以你能感受到结构体本身如何申明和使用就可以。
你可能注意到了一个新的关键词public这个是访问修饰符我们等下就进行讲解。
访问修饰符
概念修饰结构体中变量和方法是否能被外部使用
public 公共的 可以被结构体外部访问private 私有的 只能在结构体内部使用
tips默认不写都是private。
结构体的构造函数 没有返回值 函数名必须和结构体名相同 必须有参数 申明了构造函数就必须在其中对所有变量数据初始化
例子
using System;struct StudentGrade
{public string name;public int grade;public StudentGrade(string name, int grade){this.name name;//本身的name变量等于传入的name值this.grade grade;}public void DisplayInformation(){Console.WriteLine(Name: {0}, name);Console.WriteLine(Grade: {0}, grade);}
}class Program
{static void Main(string[] args){// 创建学生成绩实例StudentGrade student new StudentGrade(John Doe, 85);// 显示学生成绩信息student.DisplayInformation();Console.ReadLine();}
}
新关键词this代表结构体本身
总结
结构体的知识点就学完了我想如果你掌握了结构体的知识已经可以实现一些有具体功能的控制台应用了学生分数管理器或者说初学者必写的贪吃蛇。
其实你晃一眼看都会觉得很简单但是所有优秀的程序猿都会自己动手去敲代码。
一定要多练多写你可以在我这里补充知识但是练习敲代码这个是我无法帮你完成的。
闲话不多说请期待我下一篇博客。