Open In App

Implicit initialization of variables with 0 or 1 in C

Improve
Improve
Like Article
Like
Save
Share
Report

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:




#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


Last Updated : 19 Jun, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads