Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Implicit initialization of variables with 0 or 1 in C

  • Difficulty Level : Medium
  • Last Updated : 19 Jun, 2018

In C programming language, the variables should be declared before a value is assigned to it.
For Example:

   // declaration of variable a and 
   // initializing it with 0.
   int a = 0;

   // declaring array arr and initializing 
   // all the values of arr as 0.
   int arr[5] = {0}; 

However, variables can be assigned with 0 or 1 without even declaring them. Let us see an example to see how it can be done:

Take a step-up from those "Hello World" programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.




#include <stdio.h>
#include <stdlib.h>
  
// implicit initialization of variables
a, b, arr[3];
  
// value of i is initialized to 1
int main(i)
{
    printf("a = %d, b = %d\n\n", a, b);
  
    printf("arr[0] = %d, \narr[1] = %d, \narr[2] = %d,"
                "\n\n", arr[0], arr[1], arr[2]);
  
    printf("i = %d\n", i);
  
    return 0;
}
Output:
a = 0, b = 0

arr[0] = 0, 
arr[1] = 0, 
arr[2] = 0, 

i = 1

In an array, if fewer elements are used than the specified size of the array, then the remaining elements will be set by default to 0.
Let us see another example to illustrate this.




#include <stdio.h>
#include <stdlib.h>
  
int main()
{
    // size of the array is 5, but only array[0],
    // array[1] and array[2] are initialized
    int arr[5] = { 1, 2, 3 };
  
    // printing all the elements of the array
    int i;
    for (i = 0; i < 5; i++) {
        printf("arr[%d] = %d\n", i, arr[i]);
    }
  
    return 0;
}
Output:
arr[0] = 1
arr[1] = 2
arr[2] = 3
arr[3] = 0
arr[4] = 0



My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!