<programming> A named memory location in which a program can store intermediate results and from which it can read it them. Each programming language has different rules about how variables can be named, typed, and used.
Typically, a value is "assigned" to a variable in an assignment statement.
The value is obtained by evaluating an expression and then stored in the variable.
For example, the assignment
x = y + 1
means "add one to y and store the result in x".
This may look like a mathematical equation but the mathematical equality is only true in the program until the value of x or y changes. Furthermore, statements like
x = x + 1
This means "add one to x", which only makes sense as a state changing operation, not as a mathematical equality.
The simplest form of variable corresponds to a single-word of memory or a CPU register and an assignment to a load or store machine code operation.
A variable is usually defined to have a type, which never changes, and which defines the set of values the variable can hold.
A type may specify a single ("atomic") value or a collection ("aggregate") of values of the same or different types.
A common aggregate type is the array - a set of values, one of which can be selected by supplying a numerical index.
Languages may be untyped, weakly typed, strongly typed, or some combination.
Object-oriented programming languages extend this to object types or classes.
A variable's scope is the region of the program source within which it represents a certain thing.
Scoping rules are also highly language dependent but most serious languages support both local and global variables.
In a functional programming language, a variable's value never changes and change of state is handled as recursion over lists of values.
|< Previous Terms||Terms Containing variable||Next Terms >|
|Variational Graphics eXtended