[My C language interview series] 002
Summary of local variables and global variables?
Summary of local variables and global variables
Local variable
Local variables are also called internal variables. Local variables are defined in the function.Its scope is limited to internal functions.It is invalid to use this variable after leaving the function.
Local variables can be divided into dynamic and static storage types.
Local variables of the dynamic storage type are dynamically allocated storage space, and data is stored in the dynamic storage area (stack. The function is automatically released after the function call ends. The lifetime is the execution process of the function that declares the variable.
Local variables of the static storage type are static storage space allocated, and data is stored in the static storage area. The program is not released during the entire running period, and the lifetime runs throughout the entire process of running the program.
If the local variables in the function are not specifically declared as static storage classes, the storage space is dynamically allocated by default. Auto is omitted by default during variable declaration.
Global Variables
Global variables, also known as external variables, are defined outside the function.The scope starts from the definition of the variable to the end of the program file.. Global variables are all stored in the static storage area. When the program starts to execute, the global variables are allocated to the storage area, and the program is released after the row is complete. They occupy a fixed storage unit during program execution without Dynamic Allocation and release;
If the external variable is not defined at the beginning of the file,Its effective scope is only limited to the definition at the end of the file.
If the function before the definition point wants to reference this external variable, you should use the keyword extern to declare this variable before the reference ". This variable is an external variable that has been defined. With this declaration, you can legally use this external variable from the "Declaration.Its effective scope is extended from this fileExternDeclaration ends at the end of the file.
If the keyword static is added before the global variable declaration, other files cannot access and use the variable,Its effective scope is only limited to the definition at the end of the file.
Can a local variable be renamed with a global variable?
Local variables can be renamed with global variables, but local variables block global variables. When this variable is referenced in a function, local variables with the same name are used instead of global variables.
PS:This pairExternThe declared global variables are the same..