>  기사  >  백엔드 개발  >  C 언어의 다양한 스토리지 클래스

C 언어의 다양한 스토리지 클래스

PHPz
PHPz앞으로
2023-09-15 11:45:061271검색

C 언어의 다양한 스토리지 클래스

Question

C 언어의 다양한 저장 클래스는 무엇인가요? 프로그램으로 해석해보세요.

Solution

스토리지 클래스는 C 프로그램에 존재하는 변수나 함수의 범위와 수명으로 정의됩니다.

스토리지 클래스

C 언어의 스토리지 클래스는 다음과 같습니다:

  • auto
  • extern
  • static
  • register

자동 변수/로컬 변수

  • Keywords - auto
  • 라고도 함 지역 변수
  • Scope -
    • 지역 변수의 범위는 선언된 블록으로 제한됩니다.

    • 이 변수는 블록 내부에 선언됩니다.

  • 기본값 - 쓰레기 값

예제

데모

#include<stdio.h>
void main (){
   auto int i=1;{
      auto int i=2;{
         auto int i=3;
         printf ("%d",i);
      }
      printf("%d", i);
   }
   printf("%d", i);
}

output

3 2 1

전역 변수/외부 변수

  • keywords - extern
  • 이러한 변수는 블록 외부에 선언되었습니다. 그래서 전역 변수라고도 합니다.

  • Scope - 전역 변수의 범위는 프로그램 전체에서 사용할 수 있습니다.

  • default - 0

라이브 데모

#include<stdio.h>
extern int i =1; /* this &lsquo;i&rsquo; is available throughout program */
main (){
   int i = 3; /* this &lsquo;i&#39; available only in main */
   printf ("%d", i);
   fun ();
}
fun (){
   printf ("%d", i);
}

output

31

static 변수

  • keyword - static
  • scope - 정적 범위 변수 장점은 그 가치가 있다는 것입니다 프로그램 전체와 함수 호출 사이에 유지됩니다.
  • 정적 변수는 한 번만 초기화됩니다.
  • 기본값 - zero
  • li>

예제

라이브 데모

#include<stdio.h>
main (){
   inc ();
   inc ();
   inc ();
}
inc (){
   static int i =1;
   printf ("%d", i);
   i++;
}

Output

1    2    3

레지스터 변수

  • 키워드 − 레지스터
  • 레지스터의 값 변수는 CPU에 저장됩니다. 레지스터에는 메모리에 저장되는 대신 일반 변수가 메모리에 저장됩니다.

  • Register는 CPU의 임시 저장 장치입니다.

데모

#include<stdio.h>
main (){
   register int i;
   for (i=1; i< =5; i++)
      printf ("%d",i);
}

출력

1 2 3 4 5

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

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