A variable represents a storage location. Every variable has a type that determines what values can be stored in the variable. Because Visual Basic .NET is a type-safe language, every variable in a program has a type and the language guarantees that values stored in variables are always of the appropriate type. Variables are always initialized to the default value of their type before any reference to the variable can be made. It is not possible to access uninitialized memory.