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

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

PHPz
풀어 주다: 2023-09-15 11:45:06
앞으로
1342명이 탐색했습니다.

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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿