---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、
<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
1、(结构体)数组存储多个相同类型的数据,结构体可以存放不同类型的数据。结构体变量只能在初始化的时候采用{}的形式赋值,由于0开头是八进制,所以09这样的形式是错误的表示。结构体之间的变量赋值 a = b;只会成员变量之间值赋值过程,其中一个改变不会影响另一个。
2、结构体所占内存的字节数一定是最大成员变量类型字节数的倍数
3、结构体的定义方式:
1. structDog{……}; // 定义一个Dog结构体
2. structDog{……} dog; // 定义结构体Dog的同时声明了Dog类型的变量dog
3. Struct{……} dog; // 省略某种结构体名称,定义了一个该结构体类型的dog变量
其中 1是最普遍的,使用2定义变量的时候只能用用一次,否则报重复定义的错误,用上例子来时就会重复定义Dog结构体,用3定义多个结构体变量会较为麻烦,而且还会产生代码的冗余。
4、结构体也是有作用域的,即在它定义它的一行到代码块结束。并且规则给全局变量和局部变量一样的。
5、指向结构体的指针,定义过程和基本类型相似。指针访问地址空间的方法:
struct Person // 定义一个人的结构体
{
intid; // 身份号码
intage; // 年龄
}
struct Person person; // 有一个结构体变量
struct Person *p = &person; // 现有一个Person结构体变量*p
我们可以通过3种形式访问结构体成员,
1. 利用person访问,person.id、person.age
2. 利用指针变量p,像普通指针一样(*p).age、(*p).id
3. 结构体指针特有的方式:p->age、p->id。
6、当我们规定某个变量只能某些值时:如人的性别、季节、星期几等我们通常会采用枚举类型来定义类型来限定他们的值
enum Sex
{ // 定义性别枚举类型
Man, // 男 其实它是整型常量0
Weman, // 女 1
Unkown // 不详 2
}
在对枚举Sex变量赋值时,可以赋除上面外的其他值,编译器不会报错,但最好是不要这样做。
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、
<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------