Latest web development tutorials

reglas de ámbito C

Cualquier tipo de programación, el alcance está definido en la región variable de programa que existe más allá de la región variable no se puede acceder. lenguaje C, hay tres lugares que se pueden declarar variables:

  1. En las variableslocales dentro deun bloque o
  2. Todas las variablesglobales fuera de la función
  3. Parámetros de la función definen laforma de parámetros

Vamos a ver cuáles sonlas variables locales,variablesglobalesy los parámetrosformales.

Las variables locales

Variable declarada dentro de una función o bloque llamado variables locales. Sólo pueden ser utilizados por la función o bloque de código dentro de la instrucción. Las variables locales fuera de la función es desconocida. Los siguientes son ejemplos del uso de variables locales. Aquí, todas las variables a, b y c son la función main () variables locales.

#include <stdio.h>
 
int main ()
{
  /* 局部变量声明 */
  int a, b;
  int c;
 
  /* 实际初始化 */
  a = 10;
  b = 20;
  c = a + b;
 
  printf ("value of a = %d, b = %d and c = %d\n", a, b, c);
 
  return 0;
}

Las variables globales

Las variables globales se definen en la función externa, por lo general en la parte superior del programa. Las variables globales en todo el ciclo de vida de las aplicaciones son válidos en cualquiera de las funciones internas pueden acceder a las variables globales.

Las variables globales se puede acceder por cualquier función. En otras palabras, después de la declaración de variable global que está disponible durante todo el programa. El siguiente es el uso de ejemplos globales y locales variables:

#include <stdio.h>
 
/* 全局变量声明 */
int g;
 
int main ()
{
  /* 局部变量声明 */
  int a, b;
 
  /* 实际初始化 */
  a = 10;
  b = 20;
  g = a + b;
 
  printf ("value of a = %d, b = %d and g = %d\n", a, b, g);
 
  return 0;
}

En el programa, las variables locales y variables globales pueden ser los mismos, pero dentro de una función, las variables locales tienen prioridad sobre el valor de una variable global. He aquí un ejemplo:

#include <stdio.h>
 
/* 全局变量声明 */
int g = 20;
 
int main ()
{
  /* 局部变量声明 */
  int g = 10;
 
  printf ("value of g = %d\n",  g);
 
  return 0;
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

value of g = 10

Los parámetros formales

Parámetros de la función, los parámetros formales son tratados como variables locales dentro de la función, se le dará prioridad a anular la variable global. He aquí un ejemplo:

#include <stdio.h>
 
/* 全局变量声明 */
int a = 20;
 
int main ()
{
  /* 在主函数中的局部变量声明 */
  int a = 10;
  int b = 20;
  int c = 0;
  int sum(int, int);

  printf ("value of a in main() = %d\n",  a);
  c = sum( a, b);
  printf ("value of c in main() = %d\n",  c);

  return 0;
}

/* 添加两个整数的函数 */
int sum(int a, int b)
{
    printf ("value of a in sum() = %d\n",  a);
    printf ("value of b in sum() = %d\n",  b);

    return a + b;
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

value of a in main() = 10
value of a in sum() = 10
value of b in sum() = 20
value of c in main() = 30

Inicializar las variables locales y globales

Cuando se define una variable local, el sistema no inicia, debe inicializar usted mismo. Al definir variables globales, el sistema inicializará automáticamente de la siguiente manera:

数据类型初始化默认值
int 0
char '\0'
float 0
double 0
pointer NULL

inicializado correctamente la variable es una buena práctica de programación, de lo contrario el programa a veces puede producir resultados inesperados debido a una variable no inicializada provoca un cierto valor de la basura ya está disponible en la ubicación de memoria.