“struct结构体名”为结构体数据类型名字,使用结构体类型名才能在程序中定义结构体变量。③“数据类型名结构体成员i;”指定了结构体类型中的一个结构体成员,结构体成员必须像以前的变量定义一样进行说明,成员名的命名规则与变量名相同,要符合标识符的命名原则。④结构体类型定义语句是一条完整的C语句,所以结构体类型的声明要用“;”作为结束符。......
2023-11-20
在实际应用中,通常会有多种不同类型的数据,共同表示一个实体。例如,表示一个学生的学籍信息,可以包括学生的学号、姓名、性别、入学分数等相关的数据项,这些数据项的组合表示一个学生的相关情况,组成一个有机的整体。如果用独立的简单数据项分别表示它们,就不能体现数据的整体性,也不便于整体操作;由于这些数据项的类型不同,所以也不能用数组来表示。对应这种由多种不同类型的数据组成的数据实体,C++语言可以用结构体数据类型来描述。结构体中所包含的数据项称为结构体的成员,有时也将这些成员称为数据域,简称为域。
结构体类型和结构体变量的声明格式如下:
其中,“结构体名”和“结构体变量名”都可以省略。省略前者表示声明了一个无名结构体类型和定义了具有该类型的变量,省略后者表示仅仅声明了一个结构体类型。例如,声明一个具有姓名和年龄的结构体类型Person的语句如下:
上面只是声明了一个名字为Person的结构体类型,但没有定义具有该结构体类型的变量,可以像使用系统预定义数据类型一样定义结构体类型变量:
以上两个语句可以合在一起:
C++中对C的结构体有了扩展。结构体变量可以和类一样使用,结构体除了可以包含数据成员外,还可以包含成员函数;成员也可以加上public、private和protected的访问控制;结构体之间也可以继承。两者唯一不同之处是结构体中的成员默认是公有的,结构体的继承默认也是公有的,而类的继承默认是私有的,类的成员默认也是私有的。C++中结构体扩展部分的使用与类使用相似,由于后面会详细讨论类的设计和使用方法,所以在这里不过多介绍结构体的扩展部分。
【例1.20】编写一个程序,设计一个学生结构体数组(共有5个元素,每个学生包括学号、姓名、性别和分数)并初始化,计算学生的平均分数和不及格的人数。(www.chuimin.cn)
解:在程序中定义了一个结构体数组s,共5个元素,并作了初始化赋值。在main函数中用for语句逐个累加各元素的score成员值存于sum之中,如score的值小于60(不及格)即计数器num加1,循环完毕后计算平均分,并输出全班总分、平均分及不及格人数。程序如下:
程序执行结果如下:
总分:345.0
平均分:69.0
不及格人数:2
有关C++程序设计基础教程的文章
“struct结构体名”为结构体数据类型名字,使用结构体类型名才能在程序中定义结构体变量。③“数据类型名结构体成员i;”指定了结构体类型中的一个结构体成员,结构体成员必须像以前的变量定义一样进行说明,成员名的命名规则与变量名相同,要符合标识符的命名原则。④结构体类型定义语句是一条完整的C语句,所以结构体类型的声明要用“;”作为结束符。......
2023-11-20
例如,对一维结构体数组的初始化就类似于普通二维数组的初始化,初始化中的注意事项也与二维普通数组初始化时相同或类似。同样也不能将结构体数组元素作为一个整体直接进行输入输出,也需要通过输入输出数组元素的每一个成员分量达到输入输出结构体数组元素的目的。对结构体数组元素操作的唯一例外是可以将结构体数组元素作为一个整体赋给同类型数组的另外一个元素,或赋给一个同类型的结构体变量。结构体数组操作示例。......
2023-11-20
数组的每一项都是一个变量,称为数组元素。如果在初始化数组的语句内忽略了数组大小,则数组元素个数就是初始化值的个数。以下初始化形式是合法的:字符数组可以用多个字符或一个字符串初始化,需要注意的是,字符串以空字符NULL结尾,因而也占据一个数组元素的位置。......
2023-11-07
可以采取以下三种方法定义结构体类型变量。例如:struct student student1,student2/*结构体变量名*/则表示定义了student1,student2为struct student类型的变量。......
2023-11-18
前面讲过,平均裂缝间距lm=1.5l。以轴心受拉构件为例,即将出现裂缝时,截面上混凝土拉应力为f,钢筋的拉应力为σs2,如图7.16所示。由图7.16得:代入式即得:钢筋直径相同时,Ate/u=d/4ρte,乘以3/2后得平均裂缝间距:试验表明,混凝土和钢筋间的黏结强度大致与混凝土抗拉强度成正比例关系,且可取m为常数。此外,用带肋变形钢筋时比用光圆钢筋的平均裂缝间距要小些,钢筋表面特征同样影响平均裂缝间距。......
2023-09-19
高级语言中引入数据类型的概念来解决这一问题。在高级语言中,定义变量就是指明该变量的数据类型,从而为该变量分配相应数据类型的内存单元空间。结构体是不同数据类型的集合。......
2023-11-18
令ac称为裂缝间混凝土自身伸长对裂缝宽度的影响系数。图7.17平均裂缝宽度计算图式试验研究表明,系数ac虽然与配筋率、截面形状和混凝土保护层厚度等因素有关,但在一般情况下,ac变化不大,且对裂缝开展宽度的影响也不大。则2)裂缝截面处的钢筋应力σsq式中,φ可按式取值,σsq是指按荷载准永久组合计算的钢筋混凝土构件裂缝截面处纵向受拉普通钢筋的应力。......
2023-09-19
(二)杜绝平均和拖延创业团队的股权分配绝对不能搞平均主义。如果股权已经分配好,忘了谈这个事情,大家必须坐到一块,加上股权兑现的约定。中国的创业公司没有执行“股权绑定”是极其普遍的现象,后果可能十分严重,甚至直接导致项目失败或公司倒闭。没有经历过股权纠纷的创业者,都不喜欢股权绑定,因为担心自己一旦在项目中发挥不出真正的价值而失去股份。......
2023-08-25
相关推荐