Solidity types determine how values are represented, validated, and encoded for the ABI (Application Binary Interface). Solidity distinguishes elementary value types (e.g., uint256, address) from composite reference types (arrays, structs, mappings). In addition, variables that reference dynamic data have explicit data locations that control where the data lives and how it is copied.
Elementary types