>  기사  >  백엔드 개발  >  C의 저장소 클래스

C의 저장소 클래스

PHPz
PHPz앞으로
2023-09-11 18:33:03930검색

C의 저장소 클래스

C 언어에서는 변수나 함수의 가시성과 범위 등 변수와 함수의 특성을 저장소 클래스로 설명합니다.

C 언어에는 자동 변수, 외부 변수, 정적 변수 및 레지스터 변수의 네 가지 유형의 저장소 클래스가 있습니다.

auto

Auto 저장소 클래스는 모든 지역 변수에 대한 기본 저장소 클래스입니다. 함수가 호출될 때 생성됩니다. 함수 실행이 완료되면 변수는 자동으로 소멸됩니다.

함수의 지역변수이기 때문에 지역변수라고도 합니다. 기본적으로 컴파일러는 가비지 값을 할당합니다.

범위 - 자동 변수는 펑션 블록의 로컬 변수입니다.

기본값 - 가비지값은 기본 초기화 값입니다.

수명 - 자동 변수의 수명은 해당 변수가 정의된 블록에 의해 제한됩니다.

C언어의 자동변수 예시입니다.

Example

실시간 데모

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

Output

The value of auto variable : 28
The sun of auto variable & integer variable : 36

extern

외부변수도 전역변수라고도 합니다. 이러한 변수는 함수 외부에서 정의됩니다. 이러한 변수는 함수 실행 전반에 걸쳐 전역적으로 사용할 수 있습니다. 전역 변수의 값은 함수를 통해 수정될 수 있습니다.

범위 - 어떤 기능에도 구속되지 않습니다. 그들은 프로그램의 모든 곳에, 즉 전 세계적으로 존재합니다.

기본값 - 전역 변수의 기본 초기화 값은 0입니다.

Life Cycle - > 프로그램 실행이 끝날 때까지.

다음은 C 언어의 extern 변수의 예입니다.

Example

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

Output

The value of auto variable : 28
The value of extern variables x and b : 32,8
The value of modified extern variable x : 15

static

정적 변수는 한 번만 초기화됩니다. 컴파일러는 프로그램이 끝날 때까지 이 변수를 유지합니다. 정적 변수는 함수 내부 또는 외부에서 정의할 수 있습니다.

범위 - 블록에 대한 지역 변수입니다.

Default - > 기본 초기화 값은 0입니다.

Life Cycle - 프로그램 실행이 끝날 때까지.

다음은 C의 정적 변수의 예입니다.

Example

라이브 데모

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

Output

The value of auto variable : -28
The value of static variable b : 8
The sum of static variable and auto variable : -20

register

레지스터 변수는 컴파일러에게 메모리 대신 CPU 레지스터에 변수를 저장하도록 지시합니다. 자주 사용되는 변수는 레지스터에 보관되므로 더 빠르게 액세스할 수 있습니다. 우리는 이러한 변수의 주소를 결코 얻을 수 없습니다.

범위 - 함수 내부로 제한됩니다.

기본값 - 기본 초기화 값은 가비지입니다.

Lifetime - 이를 정의하는 코드 블록의 실행이 끝나기 전입니다.

다음은 C의 레지스터 변수의 예입니다.

Example

Online Demo

#include <stdio.h>
int main() {
   register char x = &#39;S&#39;;
   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;
}

Output

The value of register variable b : S
The sum of auto and register variable : 18

위 내용은 C의 저장소 클래스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제