what is the difference between static variable and register
variable?

Answers were Sorted based on User's Feedback



what is the difference between static variable and register variable?..

Answer / naresh lingampally

Variables defined local to a function disappear at the end
of the function scope. So when we call the function again,
storage for variables is created and
values are reinitialized.

Static variables:
So if we want the value to be extent throughout the life of
a program, we can define the local variable as "static."
Initialization is performed only at the first call and data
is retained between func calls.

REGISTER VARIABLE :

Register variables are a special case of automatic
variables. Automatic variables are allocated storage in the
memory of the computer; however, for most computers,
accessing data in memory is considerably slower than
processing in the CPU. These computers often have small
amounts of storage within the CPU itself where data can be
stored and accessed quickly. These storage cells are called
registers.

Normally, the compiler determines what data is to be stored
in the registers of the CPU at what times. However, the C
language provides the storage class register so that the
programmer can ``suggest'' to the compiler that particular
automatic variables should be allocated to CPU registers, if
possible. Thus, register variables provide a certain control
over efficiency of program execution. Variables which are
used repeatedly or whose access times are critical, may be
declared to be of storage class register.

Also these register variables are used in huge projects the
tiny program developers are not interested to include these
register variables, because the tiny programs never requires
more time complete its job. These register variables may be
used to store constant values so as to make use of it
anywhere in the programs.

main{ register float a=0;}

Is This Answer Correct ?    19 Yes 1 No

what is the difference between static variable and register variable?..

Answer / koti pendem

static variables stored in initialised data segment,where as
register variables stored in registers

Is This Answer Correct ?    18 Yes 1 No

what is the difference between static variable and register variable?..

Answer / amit

static variable stored in RAM where as register variable
stored in CPU's register ,
we can find address of static variable which is not
possible in case of register variable

Is This Answer Correct ?    10 Yes 1 No

Post New Answer

More C Interview Questions

Write a program to use switch statement.

0 Answers   Agilent, Integreon, ZS Associates,


What is the meaning of this decleration? unsigned char (*pArray[10][10]); please reply.

1 Answers  


what will be the output of this program........ main() { int a=2,b=4,c=6; printf("%d"); } why it gives the value of third variable.

6 Answers   HCL,


1. What will be the output of the following programs. a) #include <stdio.h> Main() { Int x=4; While(x==1) { X=x-1; Printf(“%d”,x); --x; } }

7 Answers   CSC,


What are different types of variables in c?

0 Answers  


how to make a scientific calculater ?

0 Answers  


where are auto variables stored? What are the characteristics of an auto variable?

0 Answers  


Between macros and functions,which is better to use and why?

0 Answers  


Define recursion in c.

0 Answers  


Why is c so powerful?

0 Answers  


In a header file whether functions are declared or defined?

0 Answers   TISL,


write a C program:There is a mobile keypad with numbers 0-9 and alphabets on it. Take input 0f 7 keys and then form a word from the alphabets present on the keys.

1 Answers   91mobiles, Amazon, App Guruz, College School Exams Tests, Folio3, Infosys, Omega, Planin, Riphah International University, Subex,


Categories