Table 5.1 Characteristics of Data Types and Structures
Language-agnostic — this table applies unchanged to Godot.
Skill-code link. No tick boxes live on this page, but the reasoning codes — C629 (outlines), C638 (identifies), C645 (describes), C658 (explains) — draw their "why" from these characteristics. "float: money needs decimal places" is a storage argument; "CSV: rows of identical fields" is a structure argument.
| Data type/structure | Input | Storage | Output |
|---|---|---|---|
| Character | Single symbols via keyboard or data files | Numeric codes (e.g. ASCII, Unicode) in memory | Visual symbol representation on screens or printed formats |
| String | Sequences of symbols via user input or data files | Sequence of character codes in contiguous memory, possibly with length or null terminator | Readable format of characters maintaining original order |
| Integer | Decimal representation from users or data sources | Binary format in a fixed number of bits | Decimal or other numeral systems for human readability |
| Floating point | Decimal input with fractional parts | Stored as a base, exponent and sign (e.g. IEEE 754 format) | Decimal or scientific notation respecting precision |
| Date/time | Various string formats or graphical UI selection | Large integer (timestamp) or separate components (year, month, day, etc.) | Formatted strings according to desired date/time format |
| One-dimensional array | Sequential or individual inputs at specific indices | Contiguous memory locations maintaining order by index | List or sequence format in a readable layout |
| Two-dimensional array | Row by row or column by column with two indices | Row-major or column-major order in contiguous memory | Tabular format respecting row and column structure |
| Record | Separate input for each field with varying types | Aggregates of fields in memory, sequential or aligned | Key-value formatted listing of fields and corresponding values |
