Implicit initialization of variables with 0 or 1 in C


We know that we need to declare variables before using it in our code. However, we variables can be assigned with 0 or 1 without declaration. In the following example we can see this.

Example

#include <stdio.h>
#include <stdlib.h>
x, y, array[3]; // implicit initialization of some variables
int main(i) {
   //The argument i will hold 1
   int index;
   printf("x = %d, y = %d

", x, y);    for(index = 0; index < 3; index++)       printf("Array[%d] = %d
", i, array[i]);       printf("The value of i : %d", i); }

Output

x = 0, y = 0
Array[0] = 0
Array[1] = 0
Array[2] = 0
The value of i : 1

Sometimes, if some array is initialized with few values, then rest of the values will hold 0.

#include <stdio.h>
#include <stdlib.h>
int main() {
   //The argument i will hold 1
   int index;
   int array[10] = {1, 2, 3, 4, 5, 6};
   for(index = 0; index < 10; index++)
      printf("Array[%d] = %d
", index, array[index]); }

Output

Array[0] = 1
Array[1] = 2
Array[2] = 3
Array[3] = 4
Array[4] = 5
Array[5] = 6
Array[6] = 0
Array[7] = 0
Array[8] = 0
Array[9] = 0

Updated on: 30-Jul-2019

180 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements