数组与结构体的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组与结构体的区别相关的知识,希望对你有一定的参考价值。

如题,谢谢~

数组与结构体的主要区别如下:

1、定义不同

数组是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量;

结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,叫做结构。

2、数据类型不同

数组是相同类型元素(元素可以是原子类型的整型、浮点型、字符型或者结构体、数组等)的集合;

结构体是不同类型元素(元素可以是原子类型的整型、浮点型、字符型或者结构体、数组等)的集合。

3、调用方式不同

数组可以直接利用下标访问;

而结构体必须使用结构中成员的变量名。

参考资料来源:百度百科-数组

参考资料来源:百度百科-结构体

参考技术A 1、定义上的区别:
数组是同类型数据的集合;结构体可以是同类型也可以是不同类型数据的集合。
举例如下:
int a[5]; // 数组a的5个元素都是int类型
struct stu

int num;

char name[5];

float score;

std; // 结构体std的三个成员分别是int型、char型和float型,数据类型不同。

2、调用时候的区别
数据是直接用形如“数组名[下标]”的方式调用,如a[3],表示数组a的第4个元素(数组下标从0开始);
结构体是用结构体成员运算符来调用的,如:std.num,表示调用结构体std中的num变量。
参考技术B 他们都是数据结构,不过数组只能存放同样类型的数据,而结构体则能够存放不同类型的数据,结构体里面也可以有结构体。本回答被提问者采纳 参考技术C 数组一次只能声明为一个类型
结构体可以有多个类型

以上是关于数组与结构体的区别的主要内容,如果未能解决你的问题,请参考以下文章

ABAP开发中,结构体的继承和嵌套结构有啥区别?求赐教!

结构体指针数组和结构体数组指针的区别

Swift中结构体和类的区别

C#中类与结构体的区别

C语言的结构体和C++结构体的区别

Swift 结构体和类的区别