Najlepszy samouczek Zasady zakres C W 2024 r. W tym samouczku możesz dowiedzieć się zmienne lokalne,Zmienne globalne,parametry formalne,Inicjalizacja zmiennych lokalnych i globalnych,
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:
Zobaczmy, jakie są zmiennelokalne, zmienne globalnei parametryformalne.
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 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 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
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.