Definición y tipos de variables en lenguaje C [variables locales, variables globales, parámetros formales]

Explicación detallada de las variables [variables locales, variables globales, parámetros formales]

Definición de variables

¿Qué es una variable?
  Para la interpretación de variables generales, podemos entender literalmente la cantidad que permite cambiar el valor, que es un nombre que es fácil de entender y usar para un determinado valor de objeto. Puede resultar poco claro decir que, por ejemplo, nuestra tarjeta de identificación es un tipo de variable hasta cierto punto. Cada número de identificación (variable) representa una persona exacta (valor), y las personas pueden tener valores diferentes. Desarrollo, el exterior world puede tener diferentes influencias en él, pero una vez que mencionamos este número de identificación, es el único punto de esta ontología. En nuestro lenguaje C, a menudo entendemos una variable como una ubicación con nombre en la memoria que almacena un valor que se puede modificar.

变量的定义即声明,在定义时一般遵循以下规则:

 type variable_list;

       El tipo se refiere al tipo de datos válido con modificadores arbitrarios, y la lista_variable se compone de uno o más nombres de identificadores separados por comas. ¿Qué son los modificadores? (El contenido se explica más adelante en este artículo).

       Por ejemplo, las siguientes definiciones son todas legales:

int a;
int a,b,c;
short int num;
long int b_num;

tipo de datos:

       Los tipos de datos comunes se usan comúnmente en seis tipos: char, short, int, long, float y double. Los diferentes tipos de datos ocupan diferentes tamaños de memoria. Por supuesto, el espacio asignado para diferentes tipos de datos en diferentes sistemas también es diferente. recomendado para Si no lo sabe, use sizeof para probarlo por adelantado. Aquí hay un ejemplo:
Por ejemplo, en diferentes sistemas en un sistema de 32 bits,
char —— bit de 1 byte;
corto —— bit de 2 bytes;
int —— bit de 4 bytes;
largo —— bit de 4 bytes;
float ——4 bits de bytes,
doble —— bits de 8 bytes.

Modificador

La existencia de modificadores se puede utilizar para cambiar el significado de los tipos de datos básicos para cambiar con precisión los requisitos de las variables en diferentes entornos.Los modificadores comunes son: vacío, con signo, sin signo, largo (entero largo) y corto (entero corto). Los tipos de números representados por diferentes modificadores son diferentes, así como el tamaño y alcance del espacio que ocupan. Esto debe tenerse en cuenta a la hora de definir variables y analizar programas.
[Nota]
1. Las variables deben declararse antes de que se utilicen (dígales a todos que esta cosa existe y se ha establecido en algún lugar de la memoria, solo búsquela si tiene algo que hacer).
¿Qué pasa si quiero usarlo directamente? por ejemplo:

num = 20;
	printf("%d", num);

Entonces, en este momento, verá que el programa no se puede ejecutar y se le mostrará un mensaje de error;

 error C2065: “num”: 未声明的标识符

2. Al mismo tiempo, las variables con el mismo nombre no pueden aparecer en el mismo ámbito (no es problemático aparecer como verdadero y falso Monkey King), y aparece la misma definición de variable, el programa producirá errores. P.ej:

	int a;
	int a;

Este código no se ajusta a la especificación de definición correcta y el compilador informará un error:

error C2086:int a”: 重定义

3. Está estipulado en lenguaje C que las variables solo se pueden definir una vez en un programa, pero se pueden declarar varias veces.

Clasificación de variables

Las variables se pueden dividir aproximadamente en tres categorías según la ubicación y el alcance de su declaración:
Dentro de la función-variables locales
En la definición de parámetros de función-parámetros formales
Fuera de todas las funciones-variables globales

Variable local

      Una variable local es una variable declarada dentro de una función. El alcance de una variable es local como su nombre. Solo se puede usar dentro del bloque de código donde se declara. Al mismo tiempo, la variable local solo ingresa al bloque de código donde se encuentra. Generado, se destruirá automáticamente después del final del bloque de código en esta área. En otras palabras, después de quedarse sin esta parte, no importa si se trata de una redefinición o de otro tipo, no tiene nada que ver con la variable. La característica más notable de un bloque de código es el área que comienza con la llave izquierda y termina con la llave derecha.
      ; Por ejemplo, el siguiente programa:

void func1()
{
    
    
	int num1, num2,result;
	result = num1 + num2;
	
}
void func2()
{
    
    
	int num1, num2, result;
	result = num1 + num2;
}

Las dos funciones anteriores pertenecen a dos bloques de código diferentes, por lo que las variables num1 y num2 definidas en func1 no entran en conflicto con las variables locales en result y func2. Cuando lo use aquí, asegúrese de tener en cuenta que al salir de la función, las variables locales definidas en la función se destruirán inmediatamente y ya no podrán usarse directamente.

Parámetros formales

      Cuando use una función, si necesita usar un argumento, debe declarar la variable que aceptará el valor del argumento. Este tipo de variable se denomina parámetro formal de la función, y todas sus propiedades son aproximadamente iguales a las variables locales, la diferencia es que su declaración aparece entre paréntesis después del nombre de la función. El parámetro formal general es solo una copia del valor del parámetro entrante. El uso de este valor no afecta la dirección en su propia dirección. Esta es una necesidad especial de prestar atención; pero si está utilizando un parámetro de tipo puntero, puede Realice la operación de dirección, aquí necesita una atención especial.
      Por ejemplo, el siguiente código opera en la variable a:

#include<stdio.h>
void func1(int a)
{
    
    
	a = 100;
}
int main()
{
    
    
	int a = 20;
	printf("a=%d\n", a);
	func1(a);
	printf("a=%d\n", a);
}

El programa anterior encuentra que el valor de a no ha cambiado en la salida de la operación, lo que confirma lo anterior que el parámetro formal es solo una copia del valor de la variable entrante y no afecta la variable en sí.
El resultado es el siguiente:
Inserte la descripción de la imagen aquí
¿Qué debemos hacer si queremos cambiar el valor de la variable a? Consulte los siguientes procedimientos:

#include<stdio.h>
void func1(int *p)
{
    
    
	*p = 100;
}
int main()
{
    
    
	int a = 20;
	printf("a=%d\n", a);
	func1(&a);
	printf("a=%d\n", a);
}

Lo que pasa directamente por el programa anterior es la dirección de la variable de dirección, que opera sobre el valor de la dirección, por lo que se puede cambiar. ¡La salida! Es la siguiente:
Inserte la descripción de la imagen aquí

[Por lo tanto, debe prestar atención a este tipo de problema durante el funcionamiento.

Variable global

A diferencia de las variables locales, las variables globales se pueden usar en todo el programa, se pueden usar en cualquier segmento de código y su valor es único en todo el programa. Cuando esté en uso, si redefine o copia variables globales en el segmento de código, el valor de las variables globales se ocultará automáticamente y se utilizará el conjunto de datos más reciente. Por ejemplo, el siguiente programa:

int number = 100;
int main()
{
    
    
	int b;
	b = number;
	printf("%d\n", b);
}

En este programa, no hay una definición relacionada de número en main, pero se puede llamar directamente Esta operación se puede utilizar en todos los bloques de código del programa. El resultado es el siguiente:
Inserte la descripción de la imagen aquí
Además de las siguientes situaciones:

#include<stdio.h>
int number = 100;
int main()
{
    
    
	int b;
	int number = 200;
	b = number;
	printf("%d\n", b);
}

En este programa, la variable numérica se redefine en la función principal. En este momento, la variable numérica en este bloque se usa en el principio más cercano y la variable global se oculta automáticamente.
Los resultados experimentales son los siguientes:
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/dream_i_success/article/details/109598723
Recomendado
Clasificación