C 범위 지정 규칙
모든 종류의 프로그래밍에서 범위는 프로그램에 정의된 변수가 존재하는 영역입니다. 이 영역을 넘어서는 변수에 접근할 수 없습니다. C 언어에는 변수를 선언할 수 있는 세 가지 위치가 있습니다.
함수 또는 블록 내부 로컬 변수
전역 변수
모든 함수 외부함수 매개 변수 정의 형식
매개 변수
에서는 local변수, global변수, form
매개변수가 무엇인지 살펴보겠습니다.#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;}
전역 변수전역 변수는 함수 외부, 일반적으로 프로그램 상단에 정의됩니다. 전역 변수는 프로그램 수명 주기 내내 유효하며 모든 기능 내에서 액세스할 수 있습니다. 전역 변수는 모든 함수에서 액세스할 수 있습니다. 즉, 전역 변수는 선언된 후 프로그램 전체에서 사용할 수 있습니다. 다음은 글로벌 변수와 로컬 변수를 사용하는 예입니다. #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;}프로그램에서 로컬 변수와 글로벌 변수의 이름은 동일할 수 있지만, 함수 내에서는 로컬 변수의 값이 로컬 변수의 값보다 우선합니다. 전역 변수. 예는 다음과 같습니다.
#include <stdio.h> /* 全局变量声明 */int g = 20; int main (){ /* 局部变量声明 */ int g = 10; printf ("value of g = %d\n", g); return 0;}위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.
value of g = 10
형식 매개변수함수의 매개변수인 형식 매개변수는 함수 내에서 지역 변수로 처리됩니다. 전역 변수가 먼저 재정의됩니다. 예는 다음과 같습니다. #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;}위 코드를 컴파일하고 실행하면 다음과 같은 결과가 생성됩니다.
value of a in main() = 10value of a in sum() = 10value of b in sum() = 20value of c in main() = 30
지역 변수 및 전역 변수 초기화지역 변수가 정의되면 시스템은 이를 초기화하지 않습니다. 직접 초기화해야 합니다. 전역 변수를 정의하면 시스템은 자동으로 다음과 같이 초기화합니다. 데이터 유형 | 초기화 기본값 |
---|---|
int | 0 |
char | ' |