Annotation of coherent/a/usr/man/ALL/static, revision 1.1

1.1     ! root        1: 
        !             2: 
        !             3: static                      C Keyword                      static
        !             4: 
        !             5: 
        !             6: 
        !             7: 
        !             8: Declare storage class
        !             9: 
        !            10: 
        !            11: static  is a  C  storage class.   It has  two entirely  different
        !            12: meanings, depending upon  whether it it appears inside or outside
        !            13: a function.
        !            14: 
        !            15: Outside a function, static means that the function or variable it
        !            16: preceeds may not be seen outside the module.
        !            17: 
        !            18: Inside a function, static  may only precede a variable.  It means
        !            19: that  that   variable  is  permanently   allocated,  rather  than
        !            20: allocated on the stack when the function is entered and discarded
        !            21: when the  function exits.  If  a static variable  is initialized,
        !            22: that occurs before the  program starts rather than every time the
        !            23: function is entered.  If a  function returns a pointer to a vari-
        !            24: able, often that variable is declared static within the function.
        !            25: If a  pointer to  a nnoonn-ssttaattiicc  local variable is  returned, that
        !            26: variable  is freed  when  the function  returns  and the  pointer
        !            27: points to an unprotected location.
        !            28: 
        !            29: ***** Example *****
        !            30: 
        !            31: The  following  example  demonstrates  the  uses  of  the  static
        !            32: keyword.  It returns the next integer in a sequence as a string.
        !            33: 
        !            34: 
        !            35: /* static to keep function hidden outside of this module */
        !            36: static char *nextInt()
        !            37: {
        !            38:         /* static to protect value between calls */
        !            39:         static int next = 0;
        !            40:         /* static to allow the return of a pointer to s */
        !            41:         static char s[5];
        !            42: 
        !            43: 
        !            44: 
        !            45:         sprintf(s, "%d", next++);
        !            46:         return(s);
        !            47: }
        !            48: 
        !            49: 
        !            50: ***** See Also *****
        !            51: 
        !            52: auto, C keywords, extern, register variable, storage class
        !            53: 
        !            54: 
        !            55: 
        !            56: 
        !            57: 
        !            58: 
        !            59: 
        !            60: 
        !            61: 
        !            62: 
        !            63: 
        !            64: COHERENT Lexicon                                           Page 1
        !            65: 
        !            66: 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.