esse quam videri
Revision as of 17:12, 7 June 2019 by Janell (talk | contribs) (Naming Conventions)
Jump to: navigation, search


In programming, a variable is comprised of:

  1. a storage location (identified by a memory address)
  2. an identifier
  3. value (a known or unknown quantity of information)



As the name variable implies, information may change as the program executes. However, its name, type, and location often remain fixed.

A Compiler will replace a variable's identifier with the data location.

scalar: an alternative term for a variable.


An identifier is the name used to reference either the the stored value or the variable itself; the variable's name can be used separately from the data it represents.






Changing the type of data stored in a variable may change the way the data can be used. For example, in most programming languages two integers added together will produce a sum that is also an integer.

a = 1;

b= 2;

c = a+b; // c will be 3

However, if a is a string (such as "hello"), adding it to an integer would not necessarily provide you with an integer as a result.

a = "hello";

b= 2;

c = a+b; // c will be hello2

Strong Typing

Memory Allocation

Garbage Collection

Naming Conventions

Variable Types

There are many types of variables, such as: static, stack-dynamic, explicit heap-dynamic, and implicit heap-dynamic.


A static variable is also known as global variable, it is bound to a memory cell before execution begins and remains to the same memory cell until termination. A typical example is the static variables in C and C++.


A Stack-dynamic variable is known as local variable, which is bound when the declaration statement is executed, and it is deallocated when the procedure returns. The main examples are local variables in C subprograms and Java methods.

Explicit Heap Dynamic

Explicit Heap-Dynamic variables are nameless (abstract) memory cells that are allocated and deallocated by explicit run-time instructions specified by the programmer. The main examples are dynamic objects in C++ (via new and delete) and all objects in Java.

Implicit Heap-Dynamic

Implicit Heap-Dynamic variables are bound to heap storage only when they are assigned values. Allocation and release occur when values are reassigned to variables. As a result, Implicit heap-dynamic variables have the highest degree of flexibility. The main examples are some variables in JavaScript, PHP and all variables in APL.


See also


External Links