“struct结构体名”为结构体数据类型名字,使用结构体类型名才能在程序中定义结构体变量。③“数据类型名结构体成员i;”指定了结构体类型中的一个结构体成员,结构体成员必须像以前的变量定义一样进行说明,成员名的命名规则与变量名相同,要符合标识符的命名原则。④结构体类型定义语句是一条完整的C语句,所以结构体类型的声明要用“;”作为结束符。......
2023-11-20
用户自己定义的结构体类型,与系统定义的标准类型一样,是可以用来定义结构体类型的变量。结构体变量的定义有3 种方法。
1.先定义结构体类型,再定义结构体变量
这种形式的使用方法是:
例如:
说明了两个变量boy1 和boy2 为struct stu 结构类型。
2.在定义结构体类型的同时定义结构体变量
这种形式的使用方法是:
例如:
3.定义结构体类型时不指定结构体类型名,直接定义结构体变量
这种形式的使用方法是:
(www.chuimin.cn)
例如:
第三种方法与第二种方法的区别仅在于第三种方法中省去了结构体名,而直接定义结构体变量。这种方法定义的结构体类型在程序后面不可使用,因为缺少完整的结构体类型名。
说明:
(1)一个结构体变量在内存中占据一块连续的存储空间,存储空间的大小理论上是结构体各成员的存储空间的大小的总和。三种方法中定义的boy1、boy2 变量都具有如图7.1 所示的结构。
图7.1 结构体变量存储单元
(2)成员如果是一个结构体类型,即构成了嵌套的结构体类型。例如例7.1 中的struct std_info 结构体类型,首先定义一个结构体类型struct date,由month(月)、day(日)、year(年)3 个成员组成,然后定义结构体类型struct std_info,其成员birthday 被说明为struct date结构体类型。其变量的定义如下:
变量boy1、boy2 变量的存储结构示意图如图7.2 所示。
图7.2 嵌套的结构体变量存储结构
(3)结构体名、成员名可与程序中其他变量同名,互不干扰。
有关C语言程序设计实用教程的文章
“struct结构体名”为结构体数据类型名字,使用结构体类型名才能在程序中定义结构体变量。③“数据类型名结构体成员i;”指定了结构体类型中的一个结构体成员,结构体成员必须像以前的变量定义一样进行说明,成员名的命名规则与变量名相同,要符合标识符的命名原则。④结构体类型定义语句是一条完整的C语句,所以结构体类型的声明要用“;”作为结束符。......
2023-11-20
指向结构体变量的指针变量叫结构体类型指针变量,其定义方式、使用方法与指向基本变量的方法相同。使用结构体指针变量时还需要特别注意,结构体变量的地址与结构体变量成员的地址是不同的。已知某学生3门课程的成绩存放在一个结构体变量中,请设计一个独立的函数计算该学生的平均成绩,要求函数使用结构体指针变量做函数的形式参数。......
2023-11-20
还可以在枚举类型定义中对枚举元素起始值作多次改变,每次改变后枚举值从该处开始递增直到遇到下一次起始值的指定为止。枚举数据类型定义完成后,仍然需要定义枚举变量才能使用,常见的方法有:①先定义枚举类型,然后定义枚举变量。枚举变量的输入输出示例。......
2023-11-20
一个指针变量用来指向一个结构体变量时,称之为结构体指针变量。结构体指针变量中的值是所指向的结构体变量的首地址。有了结构体指针变量,就能方便地访问结构体变量的各个成员。下面通过例子来说明结构体指针变量的具体说明和使用方法。图7.6程序运行结果说明:程序定义了一个结构stu,定义了stu 类型结构体变量boy1,并初始化赋值,还定义了一个指向stu 类型结构的指针变量pstu。......
2023-10-21
不带参数的宏定义一般形式是:#define宏名字符串例如:#definePI3.1415926其中,宏名用标识符表示,也就是前面讨论过的符号常量,上面示例中的PI就是宏名。正确使用“宏定义”的关键是宏调用时的“原样替换”。宏定义使用的简单示例。④宏定义不存在类型问题,它的参数也是无类型的。⑦宏定义允许嵌套。如:#defineN100#defineM2*N#defineK5+M⑧可以用#undef或不带替换字符串的宏定义终止宏定义的作用域。......
2023-11-20
当一个指针指向一个结构体变量时,称为结构体指针变量。结构体指针变量中的值是所指向的结构变量的首地址,通过结构指针即可访问该结构变量。结构体指针变量定义的一般形式为:struct结构类型名 *结构指针变量名在定义了struct student结构类型后,如要定义一个指向该结构类型的指针变量pstu,可写为:struct student*pstu;当然也可在定义struct student结构类型的同时定义pstu。与前面讨论的各类指针变量相同,结构指针变量也必须要先赋值后使用。......
2023-11-18
图5.3指针变量指针变量本身也是变量,所以指针变量在使用之前也需要定义。为指针变量赋值的方法有两种:一种是定义后,使用赋值语句的方式;另外一种是定义的同时进行初始化方式。......
2023-11-20
指针变量不同于其他类型的变量,它是专门存放地址的,必须将其定义为“指针类型”。]其中数据类型指的是指针变量指向数据的类型,即指针所指向的数据可以是整型、字符型或实型数等。图7.1指针变量的初始化事实上,指针变量必须被赋值语句初始化后才能使用,否则严重时会造成系统区破坏而死机。......
2023-11-18
相关推荐