Page 22 - 6437
P. 22

Classes

                          A storage class defines the scope (visibility) and life-time of variables and/or functions
                   within  a  C  Program.  They  precede  the  type  that  they  modify.  We  have  four  different  storage
                   classes in a C program:
                                       auto
                                       register
                                       static
                                       extern

                          The auto Storage Class
                          The auto storage class is the default storage class for all local variables.


                 {
                    int mount;

                    auto int month;
                 }


                          The example above defines two variables within the same storage class. ‘auto’ can only
                   be used within functions, i.e., local variables.

                          The register Storage Class
                          The  register  storage  class  is  used  to  define  local  variables  that  should  be  stored  in  a
                   register instead of RAM. This means that the variable has a maximum size equal to the register
                   size (usually one word) and can't have the unary '&' operator applied to it (as it does not have a
                   memory location).
                          The register should only be used for variables that require quick access such as counters.

                 {

                    register int  miles;
                 }

                   It should also be noted that defining 'register' does not mean that the variable will be stored in a
                   register.  It  means  that  it  MIGHT  be  stored  in  a  register  depending  on  hardware  and
                   implementation restrictions.

                          The static Storage Class
                          The static storage class instructs the compiler to keep a local variable in existence during
                   the life-time of the program instead of creating and destroying it each time it comes into and goes
                   out  of  scope.  Therefore,  making  local  variables  static  allows  them  to  maintain  their  values
                   between function calls.
                          The static modifier may also be applied to global variables. When this is done, it causes
                   that variable's scope to be restricted to the file in which it is declared.












                                                                                                      24
   17   18   19   20   21   22   23   24   25   26   27