大家觉得怎么样?自己慢慢思考吧。
好了,现在该讲讲今天的课题了,结构体。我们先来了解一下什么叫结构体,其实结构体就像数据库里的记录,结构体里面的就相当于一条记录里的各个属性,我们在描述一样东西通常都是集在一起的一个整体,就好比像一个学生吧,学生有他相关的属性,比如姓名、年龄、性别、班级等等。我们编程里虽然可以定义多个变量来分别代表着这些属性,令可这样一个一个分开来何必不将他们集中在一个整体里呢,所以C语言里就考虑到这个有了结构体。我们看看如何定义一个结构体,如下:
struct student
{
char name[10];
char sex;
int age;
:
:
}; /*注意喔,这个分号是一定要的喔*/
这里定义的是一个结构体student,但这绝对不是定义了一个可以调用的变量,这只是声明好有这么一个结构,我们要学定义一个结构的变量的话,就像定义其实类型一样:
int a,b;
和
struct student a,b;
都是同一个道理,都只是定义一个变量,类型就是看前面的了。一样可以定义其它的类型,比如struct student *p;这也是正确的(结构体数组也是有的喔)。这种指针类型可是以后要讲到的链表里很重要的喔,那么先来看看这种结构体指针先吧。我们同样可以用指针的方法指向这个结构体的首地址:
a.sex='m';这是最调用结构体里的元素运算符 .
struct student *p;
(*p). sex='m';这里一样也是这样来表示,不过结构体有另一种很好的表示方式,用到了另一个运符号->。p->sex='m';我们来这样理解这个表达式,p是地址,->这个是指向这个结构体里的,p->sex就是指向这个结构体里的元素了。
时间过得很快,没有讲到多少就快放学了。好了,我也不多说了,今天就这样吧。