C 언어에서는 변수나 함수의 가시성과 범위 등 변수와 함수의 특성을 저장소 클래스로 설명합니다.
C 언어에는 자동 변수, 외부 변수, 정적 변수 및 레지스터 변수의 네 가지 유형의 저장소 클래스가 있습니다.
Auto 저장소 클래스는 모든 지역 변수에 대한 기본 저장소 클래스입니다. 함수가 호출될 때 생성됩니다. 함수 실행이 완료되면 변수는 자동으로 소멸됩니다.
함수의 지역변수이기 때문에 지역변수라고도 합니다. 기본적으로 컴파일러는 가비지 값을 할당합니다.
범위 - 자동 변수는 펑션 블록의 로컬 변수입니다.
기본값 - 가비지값은 기본 초기화 값입니다.
수명 - 자동 변수의 수명은 해당 변수가 정의된 블록에 의해 제한됩니다.
C언어의 자동변수 예시입니다.실시간 데모
#include <stdio.h> int main() { auto int a = 28; int b = 8; printf("The value of auto variable : %d</p><p>", a); printf("The sun of auto variable & integer variable : %d", (a+b)); return 0; }
The value of auto variable : 28 The sun of auto variable & integer variable : 36
외부변수도 전역변수라고도 합니다. 이러한 변수는 함수 외부에서 정의됩니다. 이러한 변수는 함수 실행 전반에 걸쳐 전역적으로 사용할 수 있습니다. 전역 변수의 값은 함수를 통해 수정될 수 있습니다.
범위 - 어떤 기능에도 구속되지 않습니다. 그들은 프로그램의 모든 곳에, 즉 전 세계적으로 존재합니다.
기본값 - 전역 변수의 기본 초기화 값은 0입니다.
Life Cycle - > 프로그램 실행이 끝날 때까지.
다음은 C 언어의 extern 변수의 예입니다.
Live Demonstration
#include <stdio.h> extern int x = 32; int b = 8; int main() { auto int a = 28; extern int b; printf("The value of auto variable : %d</p><p>", a); printf("The value of extern variables x and b : %d,%d</p><p>",x,b); x = 15; printf("The value of modified extern variable x : %d</p><p>",x); return 0; }
The value of auto variable : 28 The value of extern variables x and b : 32,8 The value of modified extern variable x : 15
정적 변수는 한 번만 초기화됩니다. 컴파일러는 프로그램이 끝날 때까지 이 변수를 유지합니다. 정적 변수는 함수 내부 또는 외부에서 정의할 수 있습니다.
범위 - 블록에 대한 지역 변수입니다.
Default - > 기본 초기화 값은 0입니다.
Life Cycle - 프로그램 실행이 끝날 때까지.
다음은 C의 정적 변수의 예입니다.
라이브 데모
#include <stdio.h> int main() { auto int a = -28; static int b = 8; printf("The value of auto variable : %d</p><p>", a); printf("The value of static variable b : %d</p><p>",b); if(a!=0) printf("The sum of static variable and auto variable : %d</p><p>",(b+a)); return 0; }
The value of auto variable : -28 The value of static variable b : 8 The sum of static variable and auto variable : -20
레지스터 변수는 컴파일러에게 메모리 대신 CPU 레지스터에 변수를 저장하도록 지시합니다. 자주 사용되는 변수는 레지스터에 보관되므로 더 빠르게 액세스할 수 있습니다. 우리는 이러한 변수의 주소를 결코 얻을 수 없습니다.
범위 - 함수 내부로 제한됩니다.
기본값 - 기본 초기화 값은 가비지입니다.
Lifetime - 이를 정의하는 코드 블록의 실행이 끝나기 전입니다.
다음은 C의 레지스터 변수의 예입니다.
Online Demo
#include <stdio.h> int main() { register char x = 'S'; register int a = 10; auto int b = 8; printf("The value of register variable b : %c</p><p>",x); printf("The sum of auto and register variable : %d",(a+b)); return 0; }
The value of register variable b : S The sum of auto and register variable : 18
위 내용은 C의 저장소 클래스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!