开发者社区> 问答> 正文

C语言结构体和数组的区别在哪里?

C语言结构体和数组的区别在哪里?

展开
收起
游客gaiketk6mpmke 2022-03-29 19:41:45 1146 0
1 条回答
写回答
取消 提交回答
  • 区别在于数组是相同类型元素的集合,而结构是不同类型元素的集合。

    在取地址方面两者也有根本的不同,数组的数组名就代表首地址,依次+1,+2……就可以表示其他元素的地址,不需要使用取地址运算符&;

    而结构本身只是一系列不同类型元素的集合,本质上只是把很多类型的元素放在一起,以适应具体生产生活中数据单位(例如一个学生的成绩信息、商家的顾客信息等)的存储方式,所以取地址依然需要采用取地址运算。

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

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

    2022-03-29 19:57:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载