C - Variables
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. The name of a variable can be composed of letters, digits, and the underscore character. It must begin with either a letter or an underscore. Upper and lowercase letters are distinct because C is case-sensitive. Based on the basic types explained in previous chapter, there will be following basic variable types:
C programming language also allows to define various other type of variables which we will cover in subsequent chapters like Enumeration, Pointer, Array, Structure, Union etc. For this chapter, let us study only basic variable types.
Variable Declaration in C
All variables must be declared before we use them in C program, although certain declarations can be made implicitly by content. A declaration specifies a type, and contains a list of one or more variables of that type as follows:
Here, type must be a valid C data type including char, int, float, double, or any user defined data type etc., and variable_list may consist of one or more identifier names separated by commas. Some valid variable declarations along with their definition are shown here:
You can initialize a variable at the time of declaration as follows:
An extern declaration is not a definition and does not allocate storage. In effect, it claims that a definition of the variable exists some where else in the program. A variable can be declared multiple times in a program, but it must be defined only once. Following is the declaration of a variable with extern keyword:
Though you can declare a variable multiple times in C program but it can be decalred only once in a file, a function or a block of code.
Variable Initialization in C
Variables are initialized (assigned an value) with an equal sign followed by a constant expression. The general form of initialization is:
Variables can be initialized (assigned an initial value) in their declaration. The initializer consists of an equal sign followed by a constant expression as follows:
Some examples are:
It is a good programming practice to initialize variables properly otherwise, sometime program would produce unexpected result. Try following example which makes use of various types of variables:
When the above code is compiled and executed, it produces following result:
Lvalues and Rvalues in C:There are two kinds of expressions in C:
But following is not a valid statement and would generate compile-time error:
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. The name of a variable can be composed of letters, digits, and the underscore character. It must begin with either a letter or an underscore. Upper and lowercase letters are distinct because C is case-sensitive. Based on the basic types explained in previous chapter, there will be following basic variable types:
Type | Description |
---|---|
char | Typically a single octet(one byte). This is an integer type. |
int | The most natural size of integer for the machine. |
float | A single-precision floating point value. |
double | A double-precision floating point value. |
void | Represents the absence of type. |
C programming language also allows to define various other type of variables which we will cover in subsequent chapters like Enumeration, Pointer, Array, Structure, Union etc. For this chapter, let us study only basic variable types.
Variable Declaration in C
All variables must be declared before we use them in C program, although certain declarations can be made implicitly by content. A declaration specifies a type, and contains a list of one or more variables of that type as follows:
type variable_list;
Here, type must be a valid C data type including char, int, float, double, or any user defined data type etc., and variable_list may consist of one or more identifier names separated by commas. Some valid variable declarations along with their definition are shown here:
int i, j, k;
char c, ch;
float f, salary;
double d;
You can initialize a variable at the time of declaration as follows:
int i = 100;
An extern declaration is not a definition and does not allocate storage. In effect, it claims that a definition of the variable exists some where else in the program. A variable can be declared multiple times in a program, but it must be defined only once. Following is the declaration of a variable with extern keyword:
extern int i;
Variable Initialization in C
Variables are initialized (assigned an value) with an equal sign followed by a constant expression. The general form of initialization is:
variable_name = value;
Variables can be initialized (assigned an initial value) in their declaration. The initializer consists of an equal sign followed by a constant expression as follows:
type variable_name = value;
Some examples are:
int d = 3, f = 5; /* initializing d and f. */
byte z = 22; /* initializes z. */
double pi = 3.14159; /* declares an approximation of pi. */
char x = 'x'; /* the variable x has the value 'x'. */
It is a good programming practice to initialize variables properly otherwise, sometime program would produce unexpected result. Try following example which makes use of various types of variables:
#include <stdio.h>
int main ()
{
/* variable declaration: */
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 following result:
value of c : 30
value of f : 23.333334
Lvalues and Rvalues in C:There are two kinds of expressions in C:
- lvalue : An expression that is an lvalue may appear as either the left-hand or right-hand side of an assignment.
- rvalue : An expression that is an rvalue may appear on the right- but not left-hand side of an assignment.
int g = 20;
But following is not a valid statement and would generate compile-time error:
10 = 20;
Post a Comment