问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是结构体

发布网友 发布时间:2022-04-21 09:50

我来回答

2个回答

热心网友 时间:2022-07-11 14:18

是一种变量类型,同int,char类似。
C++提供了许多种基本的数据类型(如int、float、double、char等)供用户使用。但是由于程序需要处理的问题往往比较复杂,而且呈多样化,已有的数据类型显得不能满足使用要求。因此C++允许用户根据需要自己声明一些类型,用户可以自己声明的类型还有结构体类型(structure)、共用体类型(union)、枚举类型(enumeration)、类类型(class )等,这些统称为用户自定义类型(user-defined type,UDT)。   在一个组合项中包含若干个类型不同(当然也可以相同)的数据项。C和C++允许用户自己指定这样一种数据类型,它称为结构体。它相当于其他高级语言中的记录(record)。例如,可以通过下面的声明来建立数据类型。   struct Student//声明一个结构体类型Student   {   int num;//包括一个整型变量num   char name[20];//包括一个字符数组name,可以容纳20个字符   char sex;//包括一个字符变量sex   int age;//包括一个整型变量age   float score;//包括一个单精度型变量   char addr[30];//包括一个字符数组addr,可以容纳30个字符   };//最后有一个分号   这样,程序设计者就声明了一个新的结构体类型Student(struct是声明结构体类型时所必须使用的关键字,不能省略),它向编译系统声明: 这是一种结构体类型,它包括num, name, sex, age, score, addr等不同类型的数据项。应当说明Student是一个类型名,它和系统提供的标准类型(如int、char、float、double 一样,都可以用来定义变量,只不过结构体类型需要事先由用户自己声明而已。   声明一个结构体类型的一般形式为   struct 结构体类型名{成员表列};   结构体类型名用来作结构体类型的标志。上面的声明中Student就是结构体类型名。大括号内是该结构体中的全部成员(member),由它们组成一个特定的结构体。上例中的num,name,sex,score等都是结构体中的成员。在声明一个结构体类型时必须对各成员都进行类型声明即类型名成员名;每一个成员也称为结构体中的一个域(field)。成员表列又称为域表。   成员名的定名规则与变量名的定名规则相同   声明结构体类型的位置一般在文件的开头,在所有函数(包括main函数)之前,以便本文件中所有的函数都能利用它来定义变量。当然也可以在函数中声明结构体类型。   在C语言中,结构体的成员只能是数据(如上面例子中所表示的那样)。   C++对此加以扩充,结构体的成员既可以包括数据(即数据成员),又可以包括函数(即函数成员),以适应面向对象的程序设计。

热心网友 时间:2022-07-11 15:36

书上的定义忘记了,说下自己理解的吧。

当要用一个变量描述一个对象的多个属性时,普通的内置数据类型是表示不了的,这个时候就可以用结构体。结构体和类很相似,唯一不同的是:结构体默认是公有成员,而类默认是私有成员。

举例:当你想用一个变量同时描述一个学生的姓名和年龄时,你可以定义如下的结构体,
struct Student
{
char Name[10];
int Age;
};
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
橙子冷藏能保存多久 橙子会过期吗 新鲜橙子如何保存更久 橙子保鲜剂对人体有害吗 粒上皇开口熟栗120g*5袋(共600g)-详细介绍 三皇王板栗介绍 品牌榜:2024年板栗十大品牌排行榜 投票结果公布【新】 为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 电脑分辨率改变导致黑屏 显卡控制面板设置了分辨率后一开机就黑屏 我的电脑怎么一改分辨率就黑屏 电脑因为修改分辨率而一直黑屏了怎么办 电脑更改分辨率后黑屏怎么办 404 Not Found 怎么更改屏幕分辨率? 电脑调完分辨率后黑屏怎么办 屏幕分辨率调高后黑屏如何处理? 设置分辨率后,电脑黑屏,怎么办? 电脑分辨率调高后导致黑屏,按f8也没反应啊? 电脑改分辨率后黑屏系统内怎么解决 电视分辨率调太高了然后黑屏了怎么解决? 任德华主演的电影有哪些 任达华演过哪些三影片 婉君家明 扮演者是谁 404 Not Found 任达华 出演的电影 越多越好 吴辰君演过哪些电影? 任达华是谁?都演过什么片子 C语言中的结构体类型是什么? 结构体类型的概述 什么是结构类型变量?与结构体成员变量有什么区别?? c++中的结构体是用来干嘛的?能解决什么问题? 结构体和实体之间的关系有哪些? 结构体如何转化成类 关于C++中将结构体转为类,下面是具体的实例,谢谢大家,对的再多加分: c语言中怎样将结构体转换成字符串 结构体转换成C字符串 把下面结构体转换成类 求大神帮我把结构体改成类 怎样把一个结构体转换成相应的map结构 如何把这段结构体变成结构体数组 c语言结构体怎么替换成结构体指针? 公路护栏Gr-SBm-有几种规格 “波形防撞护栏Gr-C-4E”是什么意思? 想知道施耐德中间继电器的具体型号和含意 安徽高速护栏Gr-A-4E参数及价格? GR C是什么材料 车牌gr是什么军种?