当前位置:首页 > 技术知识 > 正文内容

C语言结构体,如何定义结构体数组?linux C第62讲

maynowei5个月前 (10-14)技术知识126

结构体数组

学习数组的时候,我们知道了使用C语言提供的基础数据类型来定义数组,例如:

char array[100];

int array[100];

此时,我们可以使用char, int基本数据类型来定义数组。那么,结构体类型作为我们自己定义的数据类型,也可以用来定义数组;使用结构体数据类型来定义数组与使用基本数据类型定义数组一样。例如,我们定义如下的结构体类型:

//定义结构体类型

struct reader

{

//定义结构体的成员;

char name[32];

int age;

int number;

};

此时,我们定义了struct reader结构体类型,那么,我们可以使用它来定义数组如下:

struct reader array[6]; //定义结构体数组,数组名是array,数组长度是6个元素;

此时,我们定义了array[]数组,数组的元素是struct reader类型。程序的测试例子如下:

程序运行结果如下:

可以看到,我们定义了r[3]数组,数组元素的类型是struct reader结构体类型,数组元素存放一个struct reader结构体变量。所以,访问数组元素中的成员时,如同访问结构体变量的成员一样。

总结

本章节我们学习了C语言的结构体知识,这是一个非常重要的知识点,需要读者重点掌握。读者可以参考文档的练习例子,自己手动敲写代码,多加运行测试,总结出对结构体类型的使用方式。

在文章的末尾,我们给出了C语言进行面向对象编程的例子。穿插讲解了面向对象编程的知识。这个知识点有些难度,初学者可以调过,后续学习了C++的知识点之后,可以再回来看看这个知识点,就比较容易掌握。

读者要仔细分析,掌握好每一个知识点,然后,自己总结出对该知识点的理解。自己总结出来的知识,理解才深刻,才是自己掌握的知识。

相关文章

去哪儿暑期PM实习一月记:在互联网公司做产品实习是怎样一种体验

人人都是产品经理旗下【起点学院】推出产品经理“365天”成长计划,BAT大牛带你学产品! 在毕业前的最后一个暑假,缘分使然找了几个月暑期实习之后进入了去哪儿,申请提前入职工作至今正好满一个月。原先有在...

msf系列篇章之七模块详解,黑客必学

1、 mestasploit有很多模块,一共分为七类那如果是kali中自带的msf,它默认的安装路径是在这里。,然后可以看见它这些模块有些相对应的目录。1)、exploits漏洞利用模块,这个模块通常...

Flutter 之 ListView(flutter框架)

在 Flutter 中,ListView 可以沿一个方向(垂直或水平方向)来排列其所有子 Widget,常被用于需要展示一组连续视图元素的场景ListView 构造方法ListView:仅适用于列表中...

打通 JAVA 与内核系列之 一 ReentrantLock 锁的实现原理

写JAVA代码的同学都知道,JAVA里的锁有两大类,一类是synchronized锁,一类是concurrent包里的锁(JUC锁)。其中synchronized锁是JAVA语言层面提供的能力,在此不...

分析 Rust 程序的火焰图(rust火吗)

分析 Rust 程序的火焰图(Flame Graph)是定位性能瓶颈的核心手段,其核心是通过可视化的函数调用栈和时间分布,找到 CPU 耗时、内存分配、锁竞争等热点。以下是详细的分析方法和步骤,结合...

Oracle标准化部署手册(oracle19c客户端)

很久之前写过一篇11g的windows安装手册, 这次是19c的windows安装手册,面向没有数据库安装部署经验的开发人员或想学习数据库的新手。希望能给想从事dba的入门人员小小的帮助。 毕竟每个高...