如何解决数据类型与数据结构
C 语言中的 struct
是数据类型还是数据结构?根据维基百科,数组是复合数据类型,但数组不是数据结构吗?数据结构与数据类型有何不同。
提前致谢。
解决方法
An array is a data type in C,so is a structure.
data structure 是一种组织数据的方式,可以使用一种或多种数据类型。
,struct
是“结构”的一种镜头形式。它们是一种组织数据的方式。可以使用多种类型的原始(或复杂)成员类型来创建结构。例如,
struct EmployeeRecord {
float mSkillLevel = 1.0f;
int mWorkingYears = 0;
};
另一方面,数组是类似类型记录的集合。这意味着数组只包含一种类型的多个数据。一个数组看起来像这样,
EmployeeRecord employees[10]; // Stores records of 10 employees.
int numbers[15]; // Stores 15 numbers.
现在数组也是一种数据结构。这意味着可以像这样使用 struct
分解和实现上面的示例,
struct RecordArray10 {
EmployeeRecord record1;
EmployeeRecord record2;
EmployeeRecord record3;
...
} employees;
struct NumArray15 {
int num1;
int num2;
int num3;
...
} numbers;
现在这些有索引记录的实际问题。为此,我们需要将其强制转换为其成员类型(即 EmployeeRecord
)指针,然后我们才能对其进行索引,
EmployeeRecord* pArray = (EmployeeRecord*)&numbers;
EmployeeRecord& firstElement = pArray[0]; // Indexing the first element.
为了便于使用,C 直接使用我提到的第一种语法提供了对数组的支持。
数组有两种类型,
- 静态数组(在编译时解析,无法调整大小)。
- 动态数组(可以在运行时调整大小)。
参考文献:
Wikipedia: Data Structure
Wikipedia: Array data structure
Array vs Data Structure
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。