9.1.3 结构体类型与结构体变量
知道了结构体类型后,下面介绍一下结构体变量。在介绍结构体变量之前,先来看下面的语句:
int i;
此语句定义了一个变量i,其类型为int。同样的,struct作为C语言的一种数据类型,当然可以与其他类型一样,定义一个struct类型的变量。例如:
struct hero songjiang;
此语句定义了一个名为hero的结构体类型变量songjiang,hero是这个结构体类型名。即结构体变量songjiang是结构体hero的一个实例,hero是名为songjiang的数据的类型。同样的,可以定义hero类型的变量luda、likui、linchong。
struct hero luda;
struct hero likui;
struct hero linchong;
这4个结构体变量如图9.2所示(假设各个结构体变量已被初始化):
图9.2 结构体类型与结构体变量
编译器并不为结构体类型名分配存储空间,但是一旦定义了结构体变量,就要为其分配存储空间。即上面的类型名hero并没有占用计算机内存中的任何空间,但是编译器会给变量songjiang、luda、likui、linchong分配一定的内存空间。
最新作品《C语言参悟之旅》全新上市,敬请关注!
官方网站:http://www.tqbooks.net/product/gb/product_detail.asp?catalogid=10&productid=1474
China-pub有售:http://www.china-pub.com/49980