---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------
结构和类有什么区别?
为什么要用结构:
1)比如我们为了存储一个人的信息时,就要声明n组变量,麻烦。
2)存储一个人信息的这几个变量间没有关系,容易记乱。
语法:
访问修饰符 struct 结构名
{
定义结构成员;
}
第一个问题:,“结构体”和“类”有啥区别?怎样辨别是结构体还是类! 结构体是一种值类型,而类是引用类型。(值类型、引用类型是根据数据存储的角度来分的) 就是值类型用于存储数据的值,引用类型用于存储对实际数据的引用。那么结构体就是当成值来使用的,类则通过引用来对实际数据操作。 第二个问题:两者里面是不是都有构造函数?为什么结构体用得比较少? 构造函数是为了初始化类的字段而存在的,而结构体并不需要初始化就能使用,因此,结构体中并不存在构造函数。 不能以使用多少来衡量,只是看相应问题使用最适合的方法罢了。结构体的定义是:有些数据既是相互关联的,又共同描述一个完整事物,如:一个学生的整体信息,学号、姓名、性别等。而类则使用在需要比较有层次的数据上面
ENUM是定义枚举型变量, 在实际问题中, 有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月, 一个班每周有六门课程等等。如果把这些量说明为整型, 字符型或其它类型显然是不妥当的。 为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值, 被说明为该“枚举”类型的变量取值不能超过定义的范围。应该说明的是, 枚举类型是一种基本数据类型,而不是一种构造类型, 因为它不能再分解为任何基本类型。
struct是结构体
在实际问题中,一组数据往往具有不同的数据类型。例如,
在学生登记表中,姓名应为字符型;学号可为整型或字符型; 年龄应为整型;性别应为字符型;成绩可为整型或实型。 显然不能用一个数组来存放这一组数据。
因为数组中各元素的类型和长度都必须一致,以便于编译系统处理。为了解决这个问题,C语言中给出了另一种构造数据类型——“结构”。
它相当于其它高级语言中的记录。
“结构”是一种构造类型,它是由若干“成员”组成的。 每一个成员可以是一个基本数据类型或者又是一个构造类型。
结构既是一种“构造”而成的数据类型, 那么在说明和使用之前必须先定义它,也就是构造它。如同在说明和调用函数之前要先定义函数一样。
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ----------------------