打印

C解析之二数据类型进阶

[复制链接]
817|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
沙发
elecintop|  楼主 | 2014-3-29 18:58 | 只看该作者
1.数组
如下图

使用特权

评论回复
板凳
elecintop|  楼主 | 2014-3-29 18:59 | 只看该作者
如果要定义一个数,比如 int a  那么现在你可以用a来存储一个int型的数据啦。如果要定义5个呢,100个又怎么办?你肯定发现了,一个一个地写将让人无法接受,数组正是为此而设计的一种数据类型。数组好比定义了很多个一样类型的数据,除了上图的例子,你还可以:
          float Array[5];             //定义5个float类型的数据
          数组所定义的这些数据通过下表来表示,需要注意的是,数组里的第一个数据Array[0],第二个Array[1].数组在C/C++编程的使用非常广泛,由于通过下表访问的特性,使对数据的访问转化为数组统一的下表数组下标,在算法方面有独到的用处,这也是值得细细思考多加利用的地方。
         值得注意的是数组的越界问题,在上面的情况下,访问Array[6]就越界了,超出了你定义数组的范围,会引起不可知错误。

使用特权

评论回复
地板
elecintop|  楼主 | 2014-3-29 19:02 | 只看该作者
2.结构特
         数组能定义多个一样类型的数据,如果你需要记录一个学生的年龄,学号信息,你可能要选择int age,int ID等来记录,如果还要记录学习成绩int score等更多的信息...你会发现,这些数据都是跟同一个学生相关联,如此散乱的定义这些数据是不容易理解和管理的。结构体可以帮上忙了:

使用特权

评论回复
5
elecintop|  楼主 | 2014-3-29 19:02 | 只看该作者

使用特权

评论回复
6
elecintop|  楼主 | 2014-3-29 19:03 | 只看该作者
通过struct可以将年龄,学号,ID等信息组合成一个结构体,这方便了管理与使用这些相关的数据,这对于编程而言意义十分重大。struct student s1便定义了一个学生变量,它包含了年龄,ID,学习成绩。同过“ . ”运算符便可实现对age,ID,score的访问,如是s1.age,s1.ID。结构体的封装性(把一个学生相关的变量组合在一起)使程序结构清晰,易于理解。
  同时结构体使这些数据在结构上存在联系,利用这点特质,你可以方便的实现很多其他方法难以做到的功能。比如,在多个学生体变量中寻找指定分数学生的年龄:

使用特权

评论回复
7
elecintop|  楼主 | 2014-3-29 19:03 | 只看该作者

使用特权

评论回复
8
elecintop|  楼主 | 2014-3-29 19:03 | 只看该作者
编程小技巧除了这种结构上的关联,在结构体里你还可以设标记变量,实现某种区分。   

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

176

主题

1329

帖子

3

粉丝