C Variables: Variable Definition in C
C Variables: Variable Definition in C
C Variables
Advertisements
Previous Page Next Page
A variable is nothing but a name given to a storage area that our
programs can manipulate. Each variable in C has a specific type,
which determines the size and layout of the variable's memory;
the range of values that can be stored within that memory; and
the set of operations that can be applied to the variable.
C Programming Tutorial The name of a variable can be composed of letters, digits, and the
underscore character. It must begin with either a letter or an
C Home underscore. Upper and lowercase letters are distinct because C is
casesensitive. Based on the basic types explained in the previous
C Overview chapter, there will be the following basic variable types −
char Typically a single octet(one byte). This is an integer
C Program Structure
type.
double A doubleprecision floating point value.
C Variables
void Represents the absence of type.
C Constants
C programming language also allows to define various other types
C Storage Classes
of variables, which we will cover in subsequent chapters like
Enumeration, Pointer, Array, Structure, Union, etc. For this
C Operators
chapter, let us study only basic variable types.
C Decision Making
Variable Definition in C
C Loops
A variable definition tells the compiler where and how much
storage to create for the variable. A variable definition specifies a
C Functions
data type and contains a list of one or more variables of that type
as follows −
C Scope Rules
type variable_list;
C Arrays
Here, type must be a valid C data type including char, w_char, int,
C Pointers float, double, bool, or any userdefined object; and variable_list
may consist of one or more identifier names separated by
C Strings commas. Some valid declarations are shown here −
C Structures int i, j, k;
char c, ch;
C Unions float f, salary;
double d;
C Bit Fields The line int i, j, k; declares and defines the variables i, j, and k;
which instruct the compiler to create variables named i, j and k of
C Typedef
type int.
C Input & Output Variables can be initialized (assigned an initial value) in their
declaration. The initializer consists of an equal sign followed by a
C File I/O constant expression as follows −
C Preprocessors type variable_name = value;
C Preprocessors type variable_name = value;
Some examples are −
C Header Files
extern int d = 3, f = 5; // declaration of d and f.
C Type Casting
int d = 3, f = 5; // definition and initializing d and f.
byte z = 22; // definition and initializes z.
C Error Handling
char x = 'x'; // the variable x has the value 'x'.
C Recursion
For definition without an initializer: variables with static storage
duration are implicitly initialized with NULL (all bytes have the value
C Variable Arguments 0); the initial value of all other variables are undefined.
C Memory Management Variable Declaration in C
A variable declaration provides assurance to the compiler that
C Command Line Arguments
there exists a variable with the given type and name so that the
compiler can proceed for further compilation without requiring the
C Programming Resources complete detail about the variable. A variable definition has its
meaning at the time of compilation only, the compiler needs actual
C Questions & Answers
variable definition at the time of linking the program.
C Quick Guide A variable declaration is useful when you are using multiple files
and you define your variable in one of the files which will be
C Useful Resources available at the time of linking of the program. You will use the
keyword extern to declare a variable at any place. Though you
C Discussion
can declare a variable multiple times in your C program, it can be
defined only once in a file, a function, or a block of code.
Selected Reading
Example
Developer's Best Practices
Try the following example, where variables have been declared at
the top, but they have been defined and initialized inside the main
Questions and Answers
function −
// Variable declaration:
HR Interview Questions
extern int a, b;
extern int c;
Computer Glossary extern float f;
int main () {
Who is Who
/* variable definition: */
int a, b;
int c;
float f;
/* actual initialization */
a = 10;
b = 20;
c = a + b;
printf("value of c : %d \n", c);
f = 70.0/3.0;
printf("value of f : %f \n", f);
return 0;
}
When the above code is compiled and executed, it produces the
following result −
value of c : 30
value of f : 23.333334
The same concept applies on function declaration where you
provide a function name at the time of its declaration and its
actual definition can be given anywhere else. For example −
// function declaration
int func();
int main() {
// function call
int i = func();
}
// function definition
// function definition
int func() {
return 0;
}
Lvalues and Rvalues in C
There are two kinds of expressions in C −
lvalue − Expressions that refer to a memory location are
called "lvalue" expressions. An lvalue may appear as either
the lefthand or righthand side of an assignment.
rvalue − The term rvalue refers to a data value that is
stored at some address in memory. An rvalue is an
expression that cannot have a value assigned to it which
means an rvalue may appear on the righthand side but
not on the lefthand side of an assignment.
Variables are lvalues and so they may appear on the lefthand side
of an assignment. Numeric literals are rvalues and so they may
not be assigned and cannot appear on the lefthand side. Take a
look at the following valid and invalid statements −
int g = 20; // valid statement
10 = 20; // invalid statement; would generate compile‐time error
Advertisements