Prev Next
- C variable is a named location in a memory where a program can manipulate the data. This location is used to hold the value of the variable.
- The value of the C variable may get change in the program.
- C variable might be belonging to any of the data type like int, float, char etc.
Rules for naming C variable:
- Variable name must begin with letter or underscore.
- Variables are case sensitive
- They can be constructed with digits, letters.
- No special symbols are allowed other than underscore.
- sum, height, _value are some examples for variable name
Declaring & initializing C variable:
- Variables should be declared in the C program before to use.
- Memory space is not allocated for a variable while declaration. It happens only on variable definition.
- Variable initialization means assigning a value to the variable.
Type
|
Syntax
|
Variable declaration
|
data_type variable_name;
Example: int x, y, z; char flat, ch; |
Variable initialization
|
data_type variable_name = value;
Example: int x = 50, y = 30; char flag = ‘x’, ch=’l’;
|
There are three types of variables in C program They are,
- Local variable
- Global variable
- Environment variable
1. Example program for local variable in C:
- The scope of local variables will be within the function only.
- These variables are declared within the function and can’t be accessed outside the function.
- In the below example, m and n variables are having scope within the main function only. These are not visible to test function.
- Like wise, a and b variables are having scope within the test function only. These are not visible to main function.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#include<stdio.h> void test(); int main() { int m = 22, n = 44; // m, n are local variables of main function /*m and n variables are having scope within this main function only. These are not visible to test funtion.*/ /* If you try to access a and b in this function, you will get 'a' undeclared and 'b' undeclared error */ printf("\nvalues : m = %d and n = %d", m, n); test(); } void test() { int a = 50, b = 80; // a, b are local variables of test function /*a and b variables are having scope within this test function only. These are not visible to main function.*/ /* If you try to access m and n in this function, you will get 'm' undeclared and 'n' undeclared error */ printf("\nvalues : a = %d and b = %d", a, b); } |
Output:
values : m = 22 and n = 44
values : a = 50 and b = 80
|
2. Example program for global variable in C:
- The scope of global variables will be throughout the program. These variables can be accessed from anywhere in the program.
- This variable is defined outside the main function. So that, this variable is visible to main function and all other sub functions.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
#include<stdio.h> void test();int m = 22, n = 44; int a = 50, b = 80; int main() { printf("All variables are accessed from main function"); printf("\nvalues: m=%d:n=%d:a=%d:b=%d", m,n,a,b); test(); } void test() { printf("\n\nAll variables are accessed from" \ " test function"); printf("\nvalues: m=%d:n=%d:a=%d:b=%d", m,n,a,b); } |
Output:
All variables are accessed from main function values : m = 22 : n = 44 : a = 50 : b = 80 All variables are accessed from test function values : m = 22 : n = 44 : a = 50 : b = 80 |
3. Environment variables in C:
- Environment variable is a variable that will be available for all C applications and C programs.
- We can access these variables from anywhere in a C program without declaring and initializing in an application or C program.
- The inbuilt functions which are used to access, modify and set these environment variables are called environment functions.
- There are 3 functions which are used to access, modify and assign an environment variable in C. They are,
1. setenv()
2. getenv()
3. putenv()
Example program for getenv() function in C:
This function gets the current value of the environment variable. Let us assume that environment variable DIR is assigned to “/usr/bin/test/”.
1 2 3 4 5 6 7 8 |
#include <stdio.h> #include <stdlib.h> int main() { printf("Directory = %s\n",getenv("DIR")); return 0; } |
Output:
/usr/bin/test/ |
Example program for setenv() function in C:
This function sets the value for environment variable. Let us assume that environment variable “FILE” is to be assigned “/usr/bin/example.c”
1 2 3 4 5 6 7 8 9 |
#include <stdio.h> #include <stdlib.h> int main() { setenv("FILE", "/usr/bin/example.c",50); printf("File = %s\n", getenv("FILE")); return 0; } |
Output:
File = /usr/bin/example.c |
Example program for putenv() function in C:
This function modifies the value for environment variable. Below example program shows that how to modify an existing environment variable value.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <stdio.h> #include <stdlib.h> int main() { setenv("DIR", "/usr/bin/example/",50); printf("Directory name before modifying = " \ "%s\n", getenv("DIR")); putenv("DIR=/usr/home/"); printf("Directory name after modifying = " \ "%s\n", getenv("DIR")); return 0; } |
Output:
Directory name before modifying = /usr/bin/example/ Directory name after modifying = /usr/home/ |
Difference between variable declaration & definition in C:
Variable declaration |
Variable definition
|
Declaration tells the compiler about data type and size of the variable.
|
Definition allocates memory for the variable.
|
Variable can be declared many times in a program.
|
It can happen only one time for a variable in a program.
|
The assignment of properties and identification to a variable.
|
Assignments of storage space to a variable.
|