结构和数组的联系与区别

数组和结构相似的地方是都不再是单一的原子类型,而是一个集合。区别在于数组是相同类型元素(元素可以是原子类型的整型、浮点型、字符型或者结构体数组等)的集合,而结构是不同类型元素(元素可以是原子类型的整型、浮点型、字符型或者结构体、数组等)的集合。所以结构无所不包,当然结构中也可以定义相同类型的元素,而数组则不然,从这个角度,结构体的普世意义更为广泛,但是毫无疑问,如果结构定义为成员类型是相同的,那么相比定义数组,要麻烦的多。

在取地址方面两者也有根本的不同,数组的数组名就代表首地址,依次+1,+2……就可以表示其他元素的地址,不需要使用取地址运算符&;而结构本身只是一系列不同类型元素的集合,本质上只是把很多类型的元素放在一起,以适应具体生产生活中数据单位(例如一个学生的成绩信息、商家的顾客信息等)的存储方式,所以取地址依然需要采用取地址运算。

两者的访问方式也不同,数组可以直接利用下标访问,而结构必须使用结构中成员的变量名。

结构的定义一般放在主函数外面,这样其他函数就可以使用这种类型的结构定义具体的结构;而数组则由于定义和使用都较为简单,可以直接在需要使用的函数中定义即可。

也可参照:数组与结构的区别与联系

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页
实付 29.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值