I am trying to know what is exactly the difference between everystorage classes. Here I have used register Storage class. So I am confuse that if we declare register variable as global what is the scope of it? 
 In my code it is giving that the register name not specified for ‘x’ .Please guide me if anyone one knows what exactly it is saying and what is the scope of register varibale compared to other storage class?
 Thank you.!!!

```
 below is the output of terminal using gcc compiler in Ubuntu.

 shilpi@shilpi:~/storageclass$ gcc register.c
 register.c:9:15: error: register name not specified for ‘x’
 register int x=10;
           ^
 shilpi@shilpi:~/storageclass$ gcc register.c
 register.c:9:15: error: register name not specified for ‘x’
 register int x=10;
           ^

//int x = 10 ;
int z;
int main( )
{
   extern int y ;
  // register int x ;
   printf ( "The value of x is %d \n", x ) ;
   printf ( "The value of y is %d",y ) ;
   z=add();
   printf("\nvalue of sum is : %d", z);
   return 0;

}
int y = 200 ;

int add()
{
    int sum;
    sum=x+y;
    //printf("value of sum is : %d", sum);
}

```