what is the difference between static variable and register
variable?

Answer Posted / 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



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

What are the advantages and disadvantages of pointers?

840


What are unions in c?

805


Explain how do you convert strings to numbers in c?

861


write a C program: To recognize date of any format even formats like "feb-02-2003","02-february-2003",mm/dd/yy, dd/mm/yy and display it as mm/dd/yy.

3590


Array is an lvalue or not?

878


What is difference between arrays and pointers?

805


How do you convert a decimal number to its hexa-decimal equivalent.Give a C code to do the same

905


What is the method to save data in stack data structure type?

884


Are pointers integers in c?

852


How a string is stored in c?

850


What is pointer to pointer in c?

887


What is a protocol in c?

781


What is the difference between exit() and _exit() function in c?

871


What does & mean in scanf?

865


How to get string length of given string in c?

837