Primitive type
From Free net encyclopedia
In computer science, primitive types, as distinct from composite types - are datatypes provided by a programming language as basic building blocks. Depending on the language and its implementation, primitive types may or may not have a one-to-one correspondence with objects in the computer's memory.
Primitive types are also known as built-in types or basic types.
The actual range of primitive types that is available is dependent upon the specific programming language that is being used. For example, in C, strings are a composite datatype, whereas in modern dialects of Basic they are a primitive datatype.
Typical primitive types may include:
- character (
character
,char
); - Integer (
integer
,int
,short
,long
) with a variety of precisions; - floating-point number (
float
,double
,real
,double precision
); - Fixed-point (
fixed
) with a variety of precisions and a programmer-selected scale. - boolean having the values true and false.
- datatype (
string
), a sequence of characters, which can be of zero length – containing no characters – if desired); - reference (also called a "pointer" or "handle"), a small value referring to another object, possibly a much larger one.
More sophisticated types which can be primitive include:
- Tuples in ML
- Linked lists in Lisp
- complex numbers in Fortran, C (C99), Python
- rational numbers in Lisp
- first class functions, closures, continuations in Functional programming languages such as Lisp and ML
One usually expects operations on primitive types to be the fastest language contructs there are. Integer addition, for example, can be performed as a single machine instruction, and some processors offer specific instructions to process sequences of characters with a single instruction. In particular, the C standard mentions that
"a ``plain'' int object has the natural size suggested by the architecture of the
execution environment". This means that int
is likely to be 32 bits long on a 32-bit
architecture.
Most languages do not allow the behaviour or capabilities of primitive types to be modified by programs. Exceptions include Smalltalk, which permits primitive datatypes to be extended within a program, adding to the operations that can be performed on them or even redefining the built-in operations.it:Operazione primitiva ru:Примитивный тип