结构类型

结构类型

在实际问题中,一组数据中具有不同数据类型,在学生表,姓名应为字符型,学号为整型或字符型,年龄为整型,性别为字符型,成绩为整型或浮点型,为了处理这类数据,c#提供了结构类型,是一种自定义类型,可以存储多个不同类型的数据类型。且包含处理数据的方法。结构类型是一种值类型,对应变量的值保存在栈内存区域。

  • 结构类型的声明:

结构类型由若干“成员”组成,称为“字段”,每个字段都有自己的数据类型。声明结构类型的一般格式如下:

struct 结构类型名称
{
[字段访问修饰符] 数据类型 字段1;
[字段访问修饰符] 数据类型 字段2;
.
.
.
[字段访问修饰符] 数据类型 字段n;
}[;]

其中

struct是数据类型的关键字   字段访问修饰符主要取值public和private(默认) public表示可以通过该类型的变量访问该字段

private表示不能不能通过该类型的变量访问该字段。例如以下声明一个具有姓名和年龄等字段的结构类型Student;

struct Student//声明结构类型Student
{

public int xh;//学号
public string xm ;//姓名
public string xb;//性别
public int n1;//年龄
public string bh;//班号
}
//其中:结构类型名称为Student  该结构类型由5个成员组成,分别为xh 整型变量。xm 字符串变量。xb 字符串变量。 nl 整型变量。bh 字符串变量。
  • 结构类型变量的定义

一般格式为:结构类型 结构变量 例如Student s1,s2 ;

  • 结构变量的使用

结构变量的使用主要包括字段访问和赋值等,

(1)访问结构变量字段

   格式:结构变量名.字段名

   例如:s1.xhbiao's表示结构变量s1的学号,s2.xm表示结构变量s2的姓名

结构变量的使用与普通变量完全相同。

(2)结构变量的赋值
      2种方式:

                    结构变量的字段赋值:使用方法与普通变量

                    结构变量之间的赋值,要求赋值的两个结构变量必须类型相同,例如:s1 = s2;

        例如:设计一个控制台程序说明结构类型的应用。

 struct Student//结构类型的声明放在Main函数外面
        {
            public int xh;//学号
            public string xm;//姓名
            public string xb;//性别
            public int n1;//年龄
            public string bh;//班号

        }
        static void Main(string[] args)
        {
            Student s1;//定义两个结构类型变量
            s1.xh = 101;
            s1.xm = "李明";
            s1.xb = "男";
            s1.n1 = 20;
            s1.bh = "07001";
            Console.WriteLine("学号:{0},姓名:{1},性别:{2},年龄:{3},班号:{4}",s1.xh,s1.xm,s1.xb,s1.n1,s1.bh);

        }

        上述程序中:

声明了Student结构类型

在Main中定义她的两个变量s1和s2

给s1的各成员进行赋值并输入

将s1赋值给s2,改变s2的两个成员值并输出,结果是s1没有改变,说明s1,s2存储在不同的位置。

另外说明:既可以像“Student s1,s2”一样定义结构类型的变量,也可以采用引用类型进行定义

例如:Student s1 = new Student();   Student s2 = new Student();

不使用new运算符,将不会调运函数。

 

 

 

 

 

       

 

 

 

 

枚举型

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值