[Primero familiarizado con el lenguaje C] variables locales, variables globales, alcance, ciclo de vida

1. Clasificación de variables

1.1 Variables locales

También llamadas variables temporales, definidas en funciones y bloques de código, y generalmente solo variables que se pueden usar dentro de bloques de código.

1.2 Variables globales

Colocada fuera de la función (la función principal también es una función), una variable que se puede usar en cualquier lugar del mismo archivo ___. C.

1.3 Puntos de conocimiento

1.3.1 El principio de proximidad

Las variables locales y las variables globales tienen el mismo nombre -> el principio de proximidad.
 
Si la variable global y la variable local tienen el mismo nombre, se prefiere la variable cercana al lugar de uso.
(No se recomienda utilizar la variable con el mismo nombre)

#include <stdio.h>
int global = 2020;//全局变量
int main()
{
    
    
	int local = 2021;//局部变量
	int global = 2022;//局部变量
	printf("global = %d\n", global);

	return 0;
}

Inserte la descripción de la imagen aquí

1.3.2 Reglas de acceso

Se puede acceder directamente a las variables globales en cualquier función, mientras que a las variables locales solo se puede acceder en esta función.

#include <stdio.h>
double weight = 45.5;//全局变量

void fun()
{
    
    
	printf("%f\n", weight);
	printf("%f\n", high);//error!
}

int main()
{
    
    
	double high = 180.5;//局部变量
	printf("%f\n", weight);
	printf("%f\n", high);
    fun();
	return 0;
}

Inserte la descripción de la imagen aquí

1.3.3 Rango válido

Las variables en lenguaje C solo son válidas en las áreas donde se definen las variables y posteriores (similar a las macros).

#include <stdio.h>

int main()
{
    
    
	printf("%f\n", weight);//error!
}
	
	return 0;
}
double weight = 45.5;

Inserte la descripción de la imagen aquí

2. Uso de variables

(1) Las variables se definen antes de su uso.
(2) Preste atención al control de formato de entrada y salida, y recuerde agregar & en scanf.

#include <stdio.h>

int main()
{
    
    
	int num1 = 0;
	int num2 = 0;
	int sum = 0;
	printf("输入两个操作数:>");
	scanf("%d %d", &num1, &num2);
	sum = num1 + num2;
	printf("sum = %d\n", sum);

	return 0;
}

Inserte la descripción de la imagen aquí

3. El alcance y el ciclo de vida de las variables

3.1 Alcance

Se refiere al rango efectivo de variables.

3.1.1 El alcance de las variables locales

Es el ámbito local de la variable.

3.1.2 El alcance de las variables globales

Es todo el proyecto.
 

3.2 Ciclo de vida

Se refiere al período de tiempo entre la creación de la variable y la destrucción de la variable (es decir, el tiempo de existencia de la variable).

3.2.1 El ciclo de vida de las variables locales

Es el comienzo del ciclo de vida de entrada al alcance y el final del ciclo de vida fuera del alcance.

Esta variable se libera cuando se llama a la función.
(Formado con la llamada de la función y liberado con el lanzamiento de la función).

3.2.2 El ciclo de vida de las variables globales

Es el ciclo de vida de todo el programa.

Después de que se ejecute el programa, existirá hasta que se cierre.
(Existe con la existencia del programa y se libera con el final del programa).

Supongo que te gusta

Origin blog.csdn.net/m0_46630468/article/details/113063756
Recomendado
Clasificación