В чем разница между составным типом данных и структурой данных?

Я читал, что массив символов в C является составным типом данных, потому что это последовательность символов, но тогда в Java String — это класс, а Википедия говорит, что класс — это структура данных, я запутался.


person user478249    schedule 07.01.2011    source источник


Ответы (5)


«Структура данных» — очень общий термин теоретической информатики. Любой метод организации машинно-обрабатываемых данных можно рассматривать как структуру данных. Даже одно машинное целое является структурой данных, потому что биты можно интерпретировать несколькими способами. Однако чаще всего "структура данных" используется для обозначения организации, применяемой к большому набору данных: например, двоичному дереву, хеш-таблице, плоскому массиву или связанному списку. И обычно, когда люди говорят о структурах данных, они делают это в общих чертах, а не в конкретных языках программирования.

«Композитный тип данных» — это технический термин C и родственных языков, означающий «любой тип данных языка, который не является машинным числом», более или менее. Составные типы данных являются структурами данных, но не все структуры данных являются составными типами данных — номера машин слишком просты, чтобы быть составными типами данных, а сложная структура данных, скорее всего, будет построена из нескольких составных данных. типы данных.

«Класс» — это технический термин объектно-ориентированных языков программирования, относящийся к типу данных, который определяет не только данные, но и «методы» для манипулирования данными. В C++ все типы классов являются составными типами данных, но не все составные типы данных являются типами классов (остальные — это «обычные старые данные» или типы «POD»).

«Строка» — это общий термин для структуры данных, которая содержит последовательность небольших машинных целых чисел, которые каким-то образом представляют текст. Почти в каждом языке программирования есть понятие строки, но нет двух одинаковых. Строки по определению являются структурами данных. В семействе C строки всегда являются составными типами данных, потому что одно целое машинное число недостаточно велико для более чем нескольких символов. В объектно-ориентированных языках программирования строки обычно, но не всегда, являются типами классов.

Я надеюсь, что это, по крайней мере, продвинет вас к более сложному уровню путаницы.

person zwol    schedule 07.01.2011

тип данных — это любая вещь, из которой вы можете сделать переменную. член является переменной. метод - это функция. базовый тип не имеет ни членов, ни методов. структура состоит из комбинаций базовых типов и других структур. класс — это структура, которая включает в себя не только члены, но и методы. массив — это массив данных любого типа, будь то базовые типы, структуры или классы.

person jun    schedule 07.01.2011

Ну, я бы сказал, что «составной тип данных» и «структура данных» — это почти одно и то же: часть данных с различимыми частями, в отличие от простых или элементарных типов данных, таких как char или byte, которые не состоят из более мелких типы данных.

person Ulrich Schwarz    schedule 07.01.2011

Каждый тип данных является структурой данных, но не каждая структура данных является типом данных.

Тип данных — это объект, который может хранить данные. Тип данных простейшей формы является примитивным типом данных. Более сложный тип данных, состоящий из примитивных типов данных, представляет собой составной тип данных.

Структура данных становится отличной от типа данных, когда она содержит отношения между хранимыми сущностями вместе с сущностями. здесь сущности являются типами данных. но типы данных вместе с отношениями образуют структуру данных.

person Ashwin K Joseph    schedule 06.07.2017

Составные типы являются производными от более чем одного примитивного типа (chars, int, boolean и т. д.). Это можно сделать несколькими способами. Способы их объединения называются структурами данных.

Следовательно, ваш массив символов в C представляет собой составной тип данных и структуру данных. В общем, чтобы сделать вашу жизнь и жизнь вокруг вас проще, вы можете рассматривать структуру данных как общий термин.

person Justin Lange    schedule 21.06.2019