首页 百科知识 结构方程中的调节变量

结构方程中的调节变量

时间:2022-10-16 百科知识 版权反馈
【摘要】:花括号所包括起来的部分是结构类型中成员的定义,结构类型的成员可以是任何数据类型的变量。struct student 为该结构的类型名结构名和各成员名都应是C语言合法的标志符,结构名不得与其他变量的名字相同,但成员名可以与变量名相同,例如在程序中也可以定义一个名为height的变量,它与student结构中的height成员互不干扰。

4.4.1 结构及结构变量的定义

对例4-7中的学生信息,可以定义一个名为student的结构类型,将这4项信息包容在一起构成学生的整体个人信息:

img266

其中,struct是结构类型的标志,它是C的关键字(不能省略)。student是结构名,由标识符表达。花括号所包括起来的部分是结构类型中成员的定义,结构类型的成员可以是任何数据类型的变量。struct student 为该结构的类型名(结构名student不能够直接作为结

构类型名)。

结构类型定义的一般格式为

img267

注意:

1)结构名和各成员名都应是C语言合法的标志符,结构名不得与其他变量的名字相同,但成员名可以与变量名相同,例如在程序中也可以定义一个名为height的变量,它与student结构中的height成员互不干扰。

2)结构类型定义之后一定要跟一个分号。3)结构名不是结构类型名。

4)类型名相同的多个成员可以一起定义。

定义了结构类型后,就可以用它来定义结构变量。

对于结构类型

  struct student stu1,stu2;

定义了该结构类型的2个变量:stu1和stu2,它们在内存中的情况如图4.4.1所示(假设char类型数据占用1个字节,int类型数据占用4个字节,double类型数据占用8个字节;内存1个字节作为1个存储单元)。

img268

图4.4.1 student类型变量占用的内存空间

注意:如果内存2个字节作为1个存储单元,虽然char类型数据只需要1个字节,但也需要占用2个字节(因为1个数据需要占用至少1个存储单元)。

也可以在定义结构类型的同时定义变量,一般形式为

img269

它的作用与第一种方法相同。

另外,也可以不定义结构名,直接定义结构变量,其一般形式为

img270

用这种方法定义的结构变量称为匿名结构变量。在实际的程序设计中,很少使用。

结构类型的成员可以是任意数据类型,也可以是一个结构类型。

例如,在前面定义的student类型中,对生日的描述使用的是整型变量,不很直观,在输入和处理时也不方便,可以将生日信息用结构类型来描述。

生日包括年、月、日三个信息,它们都是整数。因此,可定义一个结构类型date,用于描述日期:

img271

用于描述学生信息的student结构,修改为

img272

需要注意的是:对结构类型date的定义一定要在结构类型student的定义之前。student类型定义的变量在内存中的使用情况如图4.4.2所示。

img273

图4.4.2 student类型变量占用的内存空间

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈