Latest web development tutorials

Zasady zakres C

Każdy rodzaj programowania, zakres jest określony w programie regionu zmiennego, które istnieją poza regionem zmiennym nie może zostać osiągnięty. Języka C, istnieją trzy miejsca, można zadeklarować zmienne:

  1. W zmiennychlokalnych w bloku lub
  2. Wszystkie zmienneglobalne poza funkcją
  3. Parametry funkcji określająformę parametru

Zobaczmy, jakie są zmiennelokalne, zmienne globalnei parametryformalne.

zmienne lokalne

Zmienna zadeklarowana wewnątrz funkcji lub bloku o nazwie zmienne lokalne. Mogą być używane tylko przez funkcję lub blok kodu wewnątrz rachunku. Zmienne lokalne poza funkcją jest nieznany. Poniżej podano przykłady zastosowania zmienne lokalne. Tutaj wszystkie zmienne A, B i C są zmienne lokalne funkcji main ().

#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;
}

Zmienne globalne

zmienne są określone w funkcji zewnętrznego, zwykle na początku programu. Zmienne globalne w całym cyklu życia aplikacji obowiązują w jakichkolwiek funkcji wewnętrznych mogą uzyskać dostęp do zmiennych globalnych.

Zmienne globalne są dostępne dla dowolnej funkcji. Innymi słowy, po światowym deklaracji zmiennej jest ona dostępna w całym programie. Poniżej znajduje się korzystanie z globalnych i lokalnych przykładów zmiennych:

#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;
}

W programie zmienne lokalne i globalne zmienne mogą być takie same, ale wewnątrz funkcji, zmienne lokalne nadpisze wartość zmiennej globalnej. Oto przykład:

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

Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:

value of g = 10

parametry formalne

Parametry funkcji, formalne parametry są traktowane jako zmienne lokalne wewnątrz funkcji, będą one dać pierwszeństwo, aby zastąpić zmienną globalną. Oto przykład:

#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;
}

Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:

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

Inicjalizacja zmiennych lokalnych i globalnych

Gdy lokalna zmienna jest zdefiniowana, system nie inicjuje, należy je zainicjować siebie. Podczas definiowania zmiennych globalnych, system automatycznie go zainicjować w następujący sposób:

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

Zmienna poprawnie zainicjowany jest to dobra praktyka programowania, w przeciwnym razie program może czasami powodować nieoczekiwane rezultaty, ponieważ zmienna niezainicjowany powoduje jakąś wartość śmieci jest już dostępne w miejscu pamięci.