C - Using global variables


Global variables make the variable declaration universal.

Any function anywhere in the program can access the variable.

The following code shows how a global variable is declared and used.

The global variables age and float are affected by both functions.


#include <stdio.h> 

void half(void);
void twice(void);

int age;//from  w ww  .  j av a 2s.  c  o m
float feet;

int main()
  printf("How old are you: ");
  scanf("%d", &age);
  printf("How tall are you (in feet): ");
  scanf("%f", &feet);
  printf("You are %d years old and %.1f feet tall.\n",
    age, feet);
  printf("But you're not really %d years old or %.1f feet tall.\n",age,feet); 

void half(void)
  float a, h;

  a = (float)age / 2.0;
  printf("Half your age is %.1f.\n", a);
  h = feet / 2.0;
  printf("Half your height is %.1f.\n", h);

void twice(void)
  age *= 2;
  printf("Twice your age is %d.\n", age);
  feet *= 2;
  printf("Twice your height is %.1f\n", feet);


The code declares the global int variable age and the float variable feet.

These are global variables because they're declared outside of any function.

The variables are used in every function.

Their values can be accessed throughout the code. Even when those values are changed in the twice() function, the main() function uses the new values.

Related Topic