What is the difference between static and extern in C?

后端 未结 5 1874
梦毁少年i
梦毁少年i 2020-12-04 10:40

What is the difference between static and extern in C?

5条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-04 11:31

    Static The static variables declared with the keyword static. The static variable initial value is 0. The static variables has block file scope scope.

    Extern A program in C, particularly when it is large, can be broken up into smaller programs. After compiling these, each program file can be joined together to form the large program. These small programs modules that combine together may need some variable that is used by all of them. In C, such a provision can be made by specifying these variables, accessible to all the small program modules, as an external storage class variable. These variables are global to all the small program modules that are formed as separate files. The keyword for declaring such global variables is extern.

    Such a global variable is declared like any other variable in one of the program modules while the declaration of these variables is preceded with the keyword extern in all other combining program modules.

    The program modules may also be a function or a block. These variables remain in existence as long as the program is in execution and their existence does not terminate upon the exit of a function or block or a program module from its state of execution. These variables are stored in the primary memory and their default value is zero. Storage classes in C

提交回复
热议问题