2.5 Constants, Variable and Data Type
2.5 Constants, Variable and Data Type
2.5 Constants, Variable and Data Type
Devyani Soni
Department of Computer science and Engineering
Content
Variables
Constants
Data type
Variable
A variable in C language is the name associated with some memory location
to store data of different types. There are many types of variables in C
depending on the scope, storage class, lifetime, type of data they store,
etc.
Definition
The syntax to declare a variable in C specifies the name and the type of the variable.
Here,
data_type: Type of data that a variable can store.
variable_name: Name of the variable given by the user.
value: value assigned to the variable by the user.
Example
1. Variable Declaration
2. Variable Definition
3. Variable Initialization
1. C Variable Declaration
Variable declaration in C tells the compiler about the existence of the variable
with the given name and data type. When the variable is declared, an entry in
symbol table is created and memory will be allocated at the time of initialization
of the variable.
2. C Variable Definition
In the definition of a C variable, the compiler allocates some memory and some
value to it. A defined variable will contain some random garbage value till it is
not initialized.
Example
int var;
char var2;
3. C Variable Initialization
Initialization of a variable is the process where the user assigns some meaningful
value to the variable when creating the variable.
Example
int var = 10;
Rules for Naming Variables in C
You can assign any name to the variable as long as it follows the following rules:
1. Local Variables
2. Global Variables
3. Static Variables
4. Automatic Variables
5. Extern Variables
6. Register Variables
1. Local Variables in C
A Local variable in C is a variable that is declared inside a function or a block of
code. Its scope is limited to the block or function in which it is declared.
#include <stdio.h>
void function()
{
int x = 10; // local variable
printf("%d", x);
}
int main()
{ function(); }
2. Global Variables in C
A Global variable in C is a variable that is declared outside the function or a
block of code. Its scope is the whole program i.e. we can access the global
variable anywhere in the C program after it is declared.
Example of Global Variable in C
#include <stdio.h>
int main()
{
function1();
function2();
return 0;
}
3. Static Variables in C
A static variable in C is a variable that is defined using the static keyword. It can
be defined only once in a C program and its scope depends upon the region
where it is declared (can be global or local).
As its lifetime is till the end of the program, it can retain its value for multiple
function calls as shown in the example.
#include <stdio.h>
void function()
{
int x = 20; // local variable
static int y = 30; // static variable
x = x + 10;
y = y + 10;
printf("\tLocal: %d\n\tStatic: %d\n", x, y);
// C program to
}
demonstrate use
int main() of static variable
{
printf("First Call\n");
function();
printf("Second Call\n");
function();
printf("Third Call\n");
function();
return 0;
}
Output:
First Call
Local: 30
Static: 40
Second Call
Local: 30
Static: 50
Third Call
Local: 30
Static: 60
4. Automatic Variable in C
All the local variables are automatic variables by default. They are also known
as auto variables.
Their scope is local and their lifetime is till the end of the block. If we need,
we can use the auto keyword to define the auto variables.
The default value of the auto variables is a garbage value.
#include <stdio.h>
void function()
{
int x = 10; // local variable (also automatic)
auto int y = 20; // automatic variable
printf("Auto Variable: %d", y);
}
int main()
{
function();
return 0;
}
5. External Variables in C
#include <stdio.h>
void printValue()
{
printf("Global variable: %d", x);
}
6. Register Variables in C
Register variables in C are those variables that are stored in the CPU register
instead of the conventional storage place like RAM. Their scope is local and
exists till the end of the block or a function.
These variables are declared using the register keyword. The default value of
register variables is a garbage value.
int main()
{
register int var = 22; // register variable
printf("Value of Register Variable: %d\n", var);
// C program to
return 0; demonstrate the
} definition of
registervariable
Output:
Definition
#include <stdio.h>
Int main()
{
const int int_const = 25; // defining integer constant using const keyword
const char char_const = 'A’; // defining character constant using const keyword
const float float_const = 15.66; // defining float constant using const keyword
return 0;
}
Data Types
Definition:
“An attribute that identifies a piece of data and instructs a computer system on
how to interpret its value is called a data type.”