快速入门之结构体的使用

结构体的使用

结构体的定义

结构体可以将若干个不同的数据类型的变量或数组封装在一起,以储存自定义的数据结构,方便储存一些符合数据。基本格式:struct Name{ // 一些基本的数据结构或自定义的数据类型 };

结构体定义示例

其中,定义了studentInfo型的Alice和Bob代表两个结构体变量,stu[1000]代表一个结构体数组,也可以通过studentInfo Alice;和studentInfo stu[1000];来定义

注意:结构体能定义除了自己本身之外的任何数据类型。虽然不能定义自己本身,但可以定义自身类型的指针变量

结构体自身的指针变量

访问结构体内的元素

访问结构体内元素有两种方式:“.”操作和“->”操作。结构体指针变量内元素的访问只需要使用“->”跟上要访问的元素即可,且使用“*”或“->”访问结构体指针变量内元素的写法完全等价的

访问结构体中的变量

结构体的初始化

利用构造函数的方法进行结构体的初始化,它可以直接定义在结构体中。结构函数的特点是它不需要写返回类型,且函数名与结构体名相同。一般来说,对一个普通定义的结构体,其内部会生成一个默认的构造函数(但不可见)

默认的构造函数

如果手动提供id和gender的初始化参数,可以通过提供初始化参数来对结构体内的变量进行赋值即可,其中_id和_gender都是变量名。只要不和已有变量冲突,用a、b或其它变量名都可以

提供初始化参数

当然,构造函数也可以简化为一行

构造函数简化为一行

这样就可以在需要时直接对结构体变量进行赋值,studentInfo stu = studentInfo(10086, 'M');

注意:如果自己重新定义了构造函数,则不能不经初始化就定义结构体变量,此时默认生成的构造函数被覆盖了。为了既能不初始化就定义结构体变量,又能享受初始化带来的便捷,可以把默认生成的构造函数手动加上,这样,只要参数个数和类型不完全相同,就可以定义任意多个构造函数,以适应不同的初始化场合

应用实例代码
运行结果
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容